Module: Memoist2::ClassMethods
- Defined in:
- lib/memoist2.rb
Instance Method Summary collapse
Instance Method Details
#memoize(method_name) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/memoist2.rb', line 9 def memoize(method_name) memoized_ivar = Memoist2.memoized_ivar_for(method_name) memoized_module = Module.new do module_eval <<-EVAL def #{method_name} unless #{memoized_ivar} #{memoized_ivar} = [super] end #{memoized_ivar}[0] end EVAL end prepend memoized_module end |