Class: Rack::RequestCache

Inherits:
Object
  • Object
show all
Extended by:
ThreadVariable
Defined in:
lib/rack/request_cache.rb,
lib/rack/request_cache/cache.rb,
lib/rack/request_cache/version.rb

Defined Under Namespace

Classes: Cache

Constant Summary collapse

VERSION =
'0.1.0'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ RequestCache

Returns a new instance of RequestCache.



10
11
12
# File 'lib/rack/request_cache.rb', line 10

def initialize app
  @app = app
end

Class Method Details

.cache(*args, &block) ⇒ Object



21
# File 'lib/rack/request_cache.rb', line 21

def self.cache *args, █ cache_store.cache(*args, &block); end

.clear!Object



22
# File 'lib/rack/request_cache.rb', line 22

def self.clear!; cache_store.clear!; end

.fetch(*args) ⇒ Object



23
# File 'lib/rack/request_cache.rb', line 23

def self.fetch *args; cache_store.fetch(*args); end

.has_key?(*args) ⇒ Boolean

Returns:

  • (Boolean)


24
# File 'lib/rack/request_cache.rb', line 24

def self.has_key? *args; cache_store.has_key?(*args); end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
# File 'lib/rack/request_cache.rb', line 14

def call env
  self.class.cache_store ||= Cache.new
  @app.call env
ensure
  self.class.clear!
end