class Rack::Multiplexer
Constants
- VERSION
Public Class Methods
new(not_found_application = nil, &block)
click to toggle source
# File lib/rack/multiplexer.rb, line 19 def initialize(not_found_application = nil, &block) @not_found_application = not_found_application instance_eval(&block) if block end
Public Instance Methods
any(pattern, application, &block)
click to toggle source
# File lib/rack/multiplexer.rb, line 53 def any(pattern, application, &block) append("ANY", pattern, application || block) end
append(method, pattern, application)
click to toggle source
# File lib/rack/multiplexer.rb, line 57 def append(method, pattern, application) routes[method] << Route.new(pattern, application) end
call(env)
click to toggle source
# File lib/rack/multiplexer.rb, line 24 def call(env) path = env["PATH_INFO"] ( routes[env["REQUEST_METHOD"]].find(path) || routes["ANY"].find(path) || not_found_application ).call(env) end
delete(pattern, application = nil, &block)
click to toggle source
# File lib/rack/multiplexer.rb, line 49 def delete(pattern, application = nil, &block) append("DELETE", pattern, application || block) end
get(pattern, application = nil, &block)
click to toggle source
# File lib/rack/multiplexer.rb, line 33 def get(pattern, application = nil, &block) append("GET", pattern, application || block) end
not_found_application()
click to toggle source
# File lib/rack/multiplexer.rb, line 65 def not_found_application @not_found_application ||= ->(env) { [ 404, { "Content-Type" => "text/plain", "Content-Length" => "0", }, [""], ] } end
patch(pattern, application = nil, &block)
click to toggle source
# File lib/rack/multiplexer.rb, line 45 def patch(pattern, application = nil, &block) append("PATCH", pattern, application || block) end
post(pattern, application = nil, &block)
click to toggle source
# File lib/rack/multiplexer.rb, line 37 def post(pattern, application = nil, &block) append("POST", pattern, application || block) end
put(pattern, application = nil, &block)
click to toggle source
# File lib/rack/multiplexer.rb, line 41 def put(pattern, application = nil, &block) append("PUT", pattern, application || block) end
routes()
click to toggle source
# File lib/rack/multiplexer.rb, line 61 def routes @routes ||= Hash.new {|hash, key| hash[key] = Routes.new } end