Module: Memoizable::ClassMethods

Defined in:
lib/memoizable.rb

Instance Method Summary collapse

Instance Method Details

#memoize(name) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/memoizable.rb', line 4

def memoize(name)
  original = "__original__#{name}"
  alias_method original, name
  define_method(name) do |*args|
    CACHE[self.to_s.unpack("a*")<<name.to_s.unpack("a*")<<args] ||= 
      send(original, *args)
  end
end