Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
40 lines (27 sloc) 748 Bytes

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