Class: Rack::Disabler
- Inherits:
-
Object
- Object
- Rack::Disabler
- Defined in:
- lib/disabler_middleware.rb
Instance Attribute Summary collapse
-
#responses ⇒ Object
Returns the value of attribute responses.
-
#store ⇒ Object
Returns the value of attribute store.
Instance Method Summary collapse
- #add_response(key, val) ⇒ Object
- #add_responses(hsh) ⇒ Object
- #call(env) ⇒ Object
- #extract(env) ⇒ Object
- #extractor(&block) ⇒ Object
-
#initialize(app, store = nil) {|_self| ... } ⇒ Disabler
constructor
A new instance of Disabler.
- #response(key) ⇒ Object
Constructor Details
#initialize(app, store = nil) {|_self| ... } ⇒ Disabler
Returns a new instance of Disabler.
6 7 8 9 10 11 12 |
# File 'lib/disabler_middleware.rb', line 6 def initialize(app,store = nil) @responses,@app,@store = { 'freeloader' => [402, {}, ["Payment Required"]], 'douchebag' => [403, {}, ["Forbidden"]] },app,store yield self if block_given? end |
Instance Attribute Details
#responses ⇒ Object
Returns the value of attribute responses.
14 15 16 |
# File 'lib/disabler_middleware.rb', line 14 def responses @responses end |
#store ⇒ Object
Returns the value of attribute store.
14 15 16 |
# File 'lib/disabler_middleware.rb', line 14 def store @store end |
Instance Method Details
#add_response(key, val) ⇒ Object
20 21 22 |
# File 'lib/disabler_middleware.rb', line 20 def add_response(key,val) @responses[key.to_s] = val end |
#add_responses(hsh) ⇒ Object
24 25 26 |
# File 'lib/disabler_middleware.rb', line 24 def add_responses(hsh) @responses.merge!(hsh) end |
#call(env) ⇒ Object
40 41 42 |
# File 'lib/disabler_middleware.rb', line 40 def call(env) response(store.get(extract(env))) || @app.call(env) end |
#extract(env) ⇒ Object
36 37 38 |
# File 'lib/disabler_middleware.rb', line 36 def extract(env) (@extractor || lambda {|env| Rack::Request.new(env).path}).call(env) end |
#extractor(&block) ⇒ Object
32 33 34 |
# File 'lib/disabler_middleware.rb', line 32 def extractor(&block) @extractor = block end |
#response(key) ⇒ Object
28 29 30 |
# File 'lib/disabler_middleware.rb', line 28 def response(key) @responses[key] end |