HTTParty-Icebox - Caching for HTTParty

Description

Cache responses in HTTParty models

Installation

RubyGems

You can install the latest Film Buff gem using RubyGems

gem install httparty-icebox

GitHub

Alternatively you can check out the latest code directly from Github

git clone http://github.com/sachse/httparty-icebox.git

Usage

Examples

Enable caching with default values:

require 'httparty-icebox'

include HTTParty::Icebox

cache
# Use HTTParty's .get method as usual, the response will now be cached
cached_response = HTTParty.get("https://github.com/sachse/httparty-icebox")

Cache responses for 5 minutes on the system in the directory "/tmp":

require 'httparty-icebox'

include HTTParty::Icebox

cache :store => 'file', :timeout => 300, :location => '/tmp/'
# Use HTTParty's .get method as usual, the response will now be cached
cached_response = HTTParty.get("https://github.com/sachse/httparty-icebox")

Authors

Contribute

Fork the project, implement your changes in it's own branch, and send a pull request to me. I'll gladly consider any help or ideas.

Contributors

  • Martyn Loughran - Major parts of this code are based on the architecture of ApiCache.
  • David Heinemeier Hansson - Other parts are inspired by the ActiveSupport::Cache in Ruby On Rails.
  • Amit Chakradeo - For pointing out response objects have to be stored marshalled on FS.
  • Marlin Forbes - For pointing out the query parameters have to be included in the cache key.
  • ramieblatt - Original Memcached store.