class Rack::Disabler
Attributes
responses[RW]
store[RW]
Public Class Methods
new(app,store = nil) { |self| ... }
click to toggle source
# 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
Public Instance Methods
add_response(key,val)
click to toggle source
# File lib/disabler_middleware.rb, line 20 def add_response(key,val) @responses[key.to_s] = val end
add_responses(hsh)
click to toggle source
# File lib/disabler_middleware.rb, line 24 def add_responses(hsh) @responses.merge!(hsh) end
call(env)
click to toggle source
# File lib/disabler_middleware.rb, line 40 def call(env) response(store.get(extract(env))) || @app.call(env) end
extract(env)
click to toggle source
# File lib/disabler_middleware.rb, line 36 def extract(env) (@extractor || lambda {|env| Rack::Request.new(env).path}).call(env) end
extractor(&block)
click to toggle source
# File lib/disabler_middleware.rb, line 32 def extractor(&block) @extractor = block end
response(key)
click to toggle source
# File lib/disabler_middleware.rb, line 28 def response(key) @responses[key] end