Class: Rack::Cache::MetaStore::Heap

Inherits:
Rack::Cache::MetaStore show all
Defined in:
lib/rack/cache/meta_store.rb

Overview

Concrete MetaStore implementation that uses a simple Hash to store request/response pairs on the heap.

Constant Summary

Constants inherited from Rack::Cache::MetaStore

DISK, FILE, GAE, GAECACHE, HEAP, MEM, MEMCACHE, MEMCACHED

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Rack::Cache::MetaStore

#cache_key, #invalidate, #lookup, #store

Constructor Details

#initialize(hash = {}) ⇒ Heap

Returns a new instance of Heap.



189
190
191
# File 'lib/rack/cache/meta_store.rb', line 189

def initialize(hash={})
  @hash = hash
end

Class Method Details

.resolve(uri) ⇒ Object



214
215
216
# File 'lib/rack/cache/meta_store.rb', line 214

def self.resolve(uri)
  new
end

Instance Method Details

#purge(key) ⇒ Object



205
206
207
208
# File 'lib/rack/cache/meta_store.rb', line 205

def purge(key)
  @hash.delete(key)
  nil
end

#read(key) ⇒ Object



193
194
195
196
197
198
199
# File 'lib/rack/cache/meta_store.rb', line 193

def read(key)
  if data = @hash[key]
    Marshal.load(data)
  else
    []
  end
end

#to_hashObject



210
211
212
# File 'lib/rack/cache/meta_store.rb', line 210

def to_hash
  @hash
end

#write(key, entries) ⇒ Object



201
202
203
# File 'lib/rack/cache/meta_store.rb', line 201

def write(key, entries)
  @hash[key] = Marshal.dump(entries)
end