Rack::Cache::EntityStore::Heap

Stores entity bodies on the heap using a Hash object.

Public Class Methods

new(hash={}) click to toggle source

Create the store with the specified backing Hash.

    # File lib/rack/cache/entitystore.rb, line 38
38:       def initialize(hash={})
39:         @hash = hash
40:       end
resolve(uri) click to toggle source
    # File lib/rack/cache/entitystore.rb, line 74
74:       def self.resolve(uri)
75:         new
76:       end

Public Instance Methods

exist?(key) click to toggle source

Determine whether the response body with the specified key (SHA1) exists in the store.

    # File lib/rack/cache/entitystore.rb, line 44
44:       def exist?(key)
45:         @hash.include?(key)
46:       end
open(key) click to toggle source

Return an object suitable for use as a Rack response body for the specified key.

    # File lib/rack/cache/entitystore.rb, line 50
50:       def open(key)
51:         (body = @hash[key]) && body.dup
52:       end
purge(key) click to toggle source

Remove the body corresponding to key; return nil.

    # File lib/rack/cache/entitystore.rb, line 69
69:       def purge(key)
70:         @hash.delete(key)
71:         nil
72:       end
read(key) click to toggle source

Read all data associated with the given key and return as a single String.

    # File lib/rack/cache/entitystore.rb, line 56
56:       def read(key)
57:         (body = @hash[key]) && body.join
58:       end
write(body, ttl=nil) click to toggle source

Write the Rack response body immediately and return the SHA1 key.

    # File lib/rack/cache/entitystore.rb, line 61
61:       def write(body, ttl=nil)
62:         buf = []
63:         key, size = slurp(body) { |part| buf << part }
64:         @hash[key] = buf
65:         [key, size]
66:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.