summaryrefslogtreecommitdiff
path: root/lib/gitlab/utils/strong_memoize.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/utils/strong_memoize.rb')
-rw-r--r--lib/gitlab/utils/strong_memoize.rb20
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