diff options
Diffstat (limited to 'lib/gitlab/patch/global_id.rb')
-rw-r--r-- | lib/gitlab/patch/global_id.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/gitlab/patch/global_id.rb b/lib/gitlab/patch/global_id.rb new file mode 100644 index 00000000000..e99f36c7dca --- /dev/null +++ b/lib/gitlab/patch/global_id.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +# To support GlobalID arguments that present a model with its old "deprecated" name +# we alter GlobalID so it will correctly find the record with its new model name. +module Gitlab + module Patch + module GlobalID + def initialize(gid, options = {}) + super + + if deprecation = Gitlab::GlobalId::Deprecations.deprecation_for(model_name) + @new_model_name = deprecation.new_model_name + end + end + + def model_name + new_model_name || super + end + + private + + attr_reader :new_model_name + end + end +end |