class Typhoeus::Cache::Rails

This module provides a simple way to cache HTTP responses in using the Rails cache.

Public Class Methods

new(cache = ::Rails.cache, options = {}) click to toggle source

@example Use the Rails cache setup to cache Typhoeus responses.

Typhoeus::Config.cache = Typhoeus::Cache::Rails.new

@param [ ActiveSupport::Cache::Store ] cache

A Rails cache backend. Defaults to Rails.cache.

@param [ Hash ] options

Options

@option options [ Integer ] :default_ttl

The default TTL of cached responses in seconds, for requests which do not set a cache_ttl.
# File lib/typhoeus/cache/rails.rb, line 14
def initialize(cache = ::Rails.cache, options = {})
  @cache = cache
  @default_ttl = options[:default_ttl]
end

Public Instance Methods

get(request) click to toggle source
# File lib/typhoeus/cache/rails.rb, line 19
def get(request)
  @cache.read(request)
end
set(request, response) click to toggle source
# File lib/typhoeus/cache/rails.rb, line 23
def set(request, response)
  @cache.write(request.cache_key, response, :expires_in => request.cache_ttl || @default_ttl)
end