diff options
Diffstat (limited to 'lib/gitlab/utils/strong_memoize.rb')
-rw-r--r-- | lib/gitlab/utils/strong_memoize.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/gitlab/utils/strong_memoize.rb b/lib/gitlab/utils/strong_memoize.rb index 3021a91dd83..483bfe12c68 100644 --- a/lib/gitlab/utils/strong_memoize.rb +++ b/lib/gitlab/utils/strong_memoize.rb @@ -24,13 +24,17 @@ module Gitlab # end # def strong_memoize(name) - if instance_variable_defined?(ivar(name)) + if strong_memoized?(name) instance_variable_get(ivar(name)) else instance_variable_set(ivar(name), yield) end end + def strong_memoized?(name) + instance_variable_defined?(ivar(name)) + end + def clear_memoization(name) remove_instance_variable(ivar(name)) if instance_variable_defined?(ivar(name)) end |