Module: Bandit::Memoizable::ClassMethods

Defined in:
lib/bandit/memoizable.rb

Instance Method Summary collapse

Instance Method Details

#memoize_method(method, time = 60) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/bandit/memoizable.rb', line 16

def memoize_method(method, time=60)
  original_method = "unmemoized_#{method}_#{Time.now.to_i}"
  alias_method original_method, method
  module_eval("  def \#{method}(*args, &block)\n    memoize(:\#{original_method}, \#{time}) { send(:\#{original_method}, *args, &block) }\n  end\n  EVAL\nend\n", __FILE__, __LINE__)