cacheability

A gem that makes client-side caching of HTTP requests a no-brainer. It is built upon the Rack:Cache gem from Ryan Tomayko.

Cached data can be stored in heap, file or memcached. See the Rack::Cache documentation (tomayko.com/src/rack-cache/) for more information.

Installation

gem install cacheability

Usage

require 'cacheability/restclient'

RestClient.log = 'stdout' # displays requests and status codes

resource = RestClient::CacheableResource.new(  'http://some/cacheable/resource', 
                                                :cache => { :metastore => 'file:/tmp/cache/meta', 
                                                            :entitystore => 'file:/tmp/cache/body' } 
                                            )
resource.get # get from remote server, and cache if possible
# ...
resource.get # get from cache, if still fresh.
# ...
resource.get(:cache_control => 'no-cache') # explicitly tells to bypass the cache, requires rack-cache >= 0.4
# ...

Do yourself a favor and read:

Supported libraries

  • rest-client > 0.9

Dependencies

  • rack-cache

COPYRIGHT

Copyright © 2008 Cyril Rohr. See LICENSE for details.