Class: HTTParty::Icebox::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/rotten-party/httparty_icebox.rb

Overview

Cache container

Pass a store name (‘memory’, etc) to initializer

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(store, options = {}) ⇒ Cache

Returns a new instance of Cache.



114
115
116
117
# File 'lib/rotten-party/httparty_icebox.rb', line 114

def initialize(store, options={})
  self.class.logger = options[:logger]
  @store = self.class.lookup_store(store).new(options)
end

Instance Attribute Details

#storeObject

Returns the value of attribute store.



112
113
114
# File 'lib/rotten-party/httparty_icebox.rb', line 112

def store
  @store
end

Class Method Details

.default_loggerObject



125
# File 'lib/rotten-party/httparty_icebox.rb', line 125

def self.default_logger; logger = ::Logger.new(STDERR); end

.loggerObject



124
# File 'lib/rotten-party/httparty_icebox.rb', line 124

def self.logger; @logger || default_logger; end

.logger=(device) ⇒ Object

Pass a filename (String), IO object, Logger instance or nil to silence the logger



128
# File 'lib/rotten-party/httparty_icebox.rb', line 128

def self.logger=(device); @logger = device.kind_of?(::Logger) ? device : ::Logger.new(device); end

Instance Method Details

#exists?(key) ⇒ Boolean

Returns:

  • (Boolean)


121
# File 'lib/rotten-party/httparty_icebox.rb', line 121

def exists?(key);        @store.exists? encode(key);                       end

#get(key) ⇒ Object



119
# File 'lib/rotten-party/httparty_icebox.rb', line 119

def get(key);            @store.get encode(key) unless stale?(key);        end

#set(key, value) ⇒ Object



120
# File 'lib/rotten-party/httparty_icebox.rb', line 120

def set(key, value);     @store.set encode(key), value;                    end

#stale?(key) ⇒ Boolean

Returns:

  • (Boolean)


122
# File 'lib/rotten-party/httparty_icebox.rb', line 122

def stale?(key);         @store.stale?  encode(key);                       end