Module: ActiveMemoize::Klass
- Includes:
- Shared
- Defined in:
- lib/active_memoize/klass.rb
Instance Method Summary collapse
Methods included from Shared
Instance Method Details
#memoize(method_name, as: nil) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/active_memoize/klass.rb', line 7 def memoize(method_name, as: nil) inner_method = instance_method(method_name) define_method(method_name) do |*args| key = self.class.key(as || method_name, args) self.class.cache[key] ||= inner_method.bind(self).call(*args) end end |