module Pry::Config::Memoization::ClassMethods
Public Instance Methods
def_memoized(method_table)
click to toggle source
Defines one or more methods who return a constant value after being called once.
@example
class Foo include Pry::Config::Memoization def_memoized({ foo: proc {1+10}, bar: proc{"aaa"<<"a"} }) end
@param [{String => Proc}] method_table
@return [void]
# File lib/pry/config/memoization.rb, line 24 def def_memoized(method_table) method_table.each do |method_name, method| define_method(method_name) do method_table[method_name] = instance_eval(&method) if method_table[method_name].equal? method method_table[method_name] end end MEMOIZED_METHODS[self] |= method_table.keys end