Module: Lite::Memoize::Table

Included in:
Instance, Klass
Defined in:
lib/lite/memoize/table.rb

Instance Method Summary collapse

Instance Method Details

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



11
12
13
14
15
16
17
18
19
# File 'lib/lite/memoize/table.rb', line 11

def memoize(method_name, args: nil, reload: false)
  key = "#{method_name}:#{args}"

  if reload
    store[key] = yield
  else
    store[key] ||= yield
  end
end

#storeObject



7
8
9
# File 'lib/lite/memoize/table.rb', line 7

def store
  @_memoized_methods ||= {}
end