Cachoo

Expirable memoization of methods

Installation

gem install cachoo

Usage

class Cache
  extend Cachoo

  def now
    Time.now.utc
  end
  cachoo :now # :now gets cached for 5 seconds by default
end
class Cache
  extend Cachoo

  def now
    Time.now.utc
  end
  cachoo :now, for: 60*60 # :now get cached for 1 hour
end

You can also ahange the time globally:

Cachoo.for = 60*60*24 # 1 day cache

Why?

I hate manually expiring memoization

Name

It's an invented word betweeh cache and achoo :)