Class: Rack::Cache::EntityStore::Moneta
- Inherits:
-
Rack::Cache::EntityStore
- Object
- Rack::Cache::EntityStore
- Rack::Cache::EntityStore::Moneta
- Extended by:
- MonetaResolver
- Defined in:
- lib/rack/cache/moneta.rb
Constant Summary
Constants inherited from Rack::Cache::EntityStore
Instance Method Summary collapse
- #exist?(key) ⇒ Boolean
-
#initialize(cache) ⇒ Moneta
constructor
A new instance of Moneta.
- #open(key) ⇒ Object
- #purge(key) ⇒ Object
- #read(key) ⇒ Object
- #write(body, ttl = 0) ⇒ Object
Methods included from MonetaResolver
Constructor Details
#initialize(cache) ⇒ Moneta
Returns a new instance of Moneta.
65 66 67 |
# File 'lib/rack/cache/moneta.rb', line 65 def initialize(cache) @cache = cache end |
Instance Method Details
#exist?(key) ⇒ Boolean
74 75 76 |
# File 'lib/rack/cache/moneta.rb', line 74 def exist?(key) @cache.key?(key) end |
#open(key) ⇒ Object
69 70 71 72 |
# File 'lib/rack/cache/moneta.rb', line 69 def open(key) data = read(key) data && [data] end |
#purge(key) ⇒ Object
89 90 91 92 |
# File 'lib/rack/cache/moneta.rb', line 89 def purge(key) @cache.delete(key) nil end |
#read(key) ⇒ Object
78 79 80 |
# File 'lib/rack/cache/moneta.rb', line 78 def read(key) @cache[key] end |
#write(body, ttl = 0) ⇒ Object
82 83 84 85 86 87 |
# File 'lib/rack/cache/moneta.rb', line 82 def write(body, ttl = 0) buf = StringIO.new key, size = slurp(body) { |part| buf.write(part) } @cache.store(key, buf.string, ttl == 0 ? {} : {expires: ttl}) [key, size] end |