Drawer

Ultra slim file-based cache.

Usage

require 'drawer'

cache = Drawer.new('db/development.drawer')
cache.get('foo')                #=> nil
cache.set('foo', 123)
cache.get('foo')                #=> 123
cache.flush_all
cache.get('foo')                #=> nil
cache.set('bar', 456)
cache.set('baz', 789)
cache.get_multi('bar', 'baz')   #=> [456, 789]

An optional second parameter is a class to be used as the persistence layer. By default, DrawerStore is used, but it can be replaced by any class that provides load and save methods. For example:

cache = Drawer.new(some_file, MyStoreClass)

Now, MyStoreClass.load(some_file) and MyStoreClass.save(@cache, some_file) will be used for retrieving and saving the cached contents.

Installation

$ gem sources -a http://gems.github.com (you only have to do this once)
$ sudo gem install soveran-drawer

Copyright © 2008 Michel Martens. Released under the MIT license.