module Lite::Memoize::Variable

Public Instance Methods

memoize(method_name, args: nil, reload: false) { || ... } click to toggle source
# 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