Class: Wouter::Wrapper
- Inherits:
-
Object
- Object
- Wouter::Wrapper
- Defined in:
- lib/wouter.rb
Overview
Wrapper class for creating single .call interface for Rack::Builder
Instance Attribute Summary collapse
-
#routes ⇒ Object
readonly
Returns the value of attribute routes.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(routes) ⇒ Wrapper
constructor
A new instance of Wrapper.
Constructor Details
#initialize(routes) ⇒ Wrapper
Returns a new instance of Wrapper.
95 96 97 |
# File 'lib/wouter.rb', line 95 def initialize(routes) @routes = routes end |
Instance Attribute Details
#routes ⇒ Object (readonly)
Returns the value of attribute routes.
93 94 95 |
# File 'lib/wouter.rb', line 93 def routes @routes end |
Instance Method Details
#call(env) ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/wouter.rb', line 99 def call(env) request = Rack::Request.new(env) route = routes.find do |r| matching_route?(r, request) end return not_found unless route path_parameters(route, request.path) do |name, value| request.update_param(name, value) end resp = route[:route_class].call(request.env) resp.finish end |