MethodCache

MethodCache lets you easily cache the results of any instance method or class method in Ruby.

Usage:

class Foo
  extend MethodCache

  cache_method :bar
  def bar
    # do expensive calculation
  end

  cache_class_method :baz, :clone => true, :expiry => 1.day
  def self.baz
    # do some expensive calculation that will be invalid tomorrow
  end
end

foo = Foo.new
foo.bar # does calculation
foo.bar # cached

Foo.baz # does calculation
Foo.baz # cached

Foo.invalidate_cached_method(:baz)

Foo.baz # does calculation
Foo.baz # cached

Install:

gem install method_cache

License:

Copyright © 2010 Justin Balthrop, Geni.com; Published under The MIT License, see LICENSE