Class: HTTParty::Icebox::Cache
- Inherits:
-
Object
- Object
- HTTParty::Icebox::Cache
- Defined in:
- lib/p3-tvdb/httparty_icebox.rb
Overview
Cache container
Pass a store name (‘memory’, etc) to initializer
Instance Attribute Summary collapse
-
#store ⇒ Object
Returns the value of attribute store.
Class Method Summary collapse
- .default_logger ⇒ Object
- .logger ⇒ Object
-
.logger=(device) ⇒ Object
Pass a filename (String), IO object, Logger instance or
nil
to silence the logger.
Instance Method Summary collapse
- #exists?(key) ⇒ Boolean
- #get(key) ⇒ Object
-
#initialize(store, options = {}) ⇒ Cache
constructor
A new instance of Cache.
- #set(key, value) ⇒ Object
- #stale?(key) ⇒ Boolean
Constructor Details
#initialize(store, options = {}) ⇒ Cache
Returns a new instance of Cache.
114 115 116 117 |
# File 'lib/p3-tvdb/httparty_icebox.rb', line 114 def initialize(store, ={}) self.class.logger = [:logger] @store = self.class.lookup_store(store).new() end |
Instance Attribute Details
#store ⇒ Object
Returns the value of attribute store.
112 113 114 |
# File 'lib/p3-tvdb/httparty_icebox.rb', line 112 def store @store end |
Class Method Details
.default_logger ⇒ Object
125 |
# File 'lib/p3-tvdb/httparty_icebox.rb', line 125 def self.default_logger; logger = ::Logger.new(STDERR); end |
.logger ⇒ Object
124 |
# File 'lib/p3-tvdb/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/p3-tvdb/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
121 |
# File 'lib/p3-tvdb/httparty_icebox.rb', line 121 def exists?(key); @store.exists? encode(key); end |
#get(key) ⇒ Object
119 |
# File 'lib/p3-tvdb/httparty_icebox.rb', line 119 def get(key); @store.get encode(key) unless stale?(key); end |
#set(key, value) ⇒ Object
120 |
# File 'lib/p3-tvdb/httparty_icebox.rb', line 120 def set(key, value); @store.set encode(key), value; end |
#stale?(key) ⇒ Boolean
122 |
# File 'lib/p3-tvdb/httparty_icebox.rb', line 122 def stale?(key); @store.stale? encode(key); end |