diff options
Diffstat (limited to 'lib/gitlab/utils/strong_memoize.rb')
-rw-r--r-- | lib/gitlab/utils/strong_memoize.rb | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/lib/gitlab/utils/strong_memoize.rb b/lib/gitlab/utils/strong_memoize.rb index fe091f4611b..a2ac9285b56 100644 --- a/lib/gitlab/utils/strong_memoize.rb +++ b/lib/gitlab/utils/strong_memoize.rb @@ -11,8 +11,6 @@ module Gitlab # # We could write it like: # - # include Gitlab::Utils::StrongMemoize - # # def trigger_from_token # strong_memoize(:trigger) do # Ci::Trigger.find_by_token(params[:token].to_s) @@ -20,22 +18,14 @@ module Gitlab # end # def strong_memoize(name) - if instance_variable_defined?(ivar(name)) - instance_variable_get(ivar(name)) + ivar_name = "@#{name}" + + if instance_variable_defined?(ivar_name) + instance_variable_get(ivar_name) else - instance_variable_set(ivar(name), yield) + instance_variable_set(ivar_name, yield) end end - - def clear_memoization(name) - remove_instance_variable(ivar(name)) if instance_variable_defined?(ivar(name)) - end - - private - - def ivar(name) - "@#{name}" - end end end end |