module Memoize::ClassMethods
Public Instance Methods
memoize(name)
click to toggle source
Calls superclass method
# File lib/dpl/helper/memoize.rb, line 7 def memoize(name) ivar = :"@#{name.to_s.sub('?', '_predicate')}" prepend Module.new { define_method(name) do |*args| raise ArgsError, 'cannot pass arguments to memoized method %p' % name unless args.empty? return instance_variable_get(ivar) if instance_variable_defined?(ivar) instance_variable_set(ivar, super()) end } end