Module: Lite::Memoize::Variable

Defined in:
lib/lite/memoize/variable.rb

Instance Method Summary collapse

Instance Method Details

#memoize(method_name, args: nil, reload: false) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/lite/memoize/variable.rb', line 7

def memoize(method_name, args: nil, reload: false)
  key = "#{method_name}#{args}"
  var = "@#{key.gsub(/\W/, '') || key}"
  return instance_variable_get(var) if !reload && instance_variable_defined?(var)

  instance_variable_set(var, yield)
end