module DeepCover::Memoize::ClassMethods
Public Instance Methods
memoize(*methods)
click to toggle source
# File lib/deep_cover/memoize.rb, line 35 def memoize(*methods) @memoized = (memoized | methods).freeze methods.each do |method| memoizer_module.module_eval <<-RUBY, __FILE__, __LINE__ + 1 def #{method} # def foo @_#{method} ||= super.freeze # @_foo ||= super.freeze end # end RUBY end end
memoized()
click to toggle source
# File lib/deep_cover/memoize.rb, line 23 def memoized @memoized ||= [].freeze end
memoizer_module()
click to toggle source
# File lib/deep_cover/memoize.rb, line 27 def memoizer_module @memoizer_module ||= begin mod = const_set(:Memoizer, Module.new) prepend mod mod end end