Class: Walle::Robot::Router
- Inherits:
-
Object
- Object
- Walle::Robot::Router
- Includes:
- Middlewares::Helper
- Defined in:
- lib/walle/robot/router.rb,
lib/walle/robot/router/route.rb,
lib/walle/robot/router/builder.rb
Defined Under Namespace
Constant Summary collapse
- DEFAULT_CONTROLLER =
-> (*_) {}
- DEFAULT_ROUTER =
Route.new(regexp: /.*/, controller: DEFAULT_CONTROLLER)
Instance Attribute Summary collapse
-
#default ⇒ Object
readonly
Returns the value of attribute default.
-
#middlewares ⇒ Object
readonly
Returns the value of attribute middlewares.
-
#routes ⇒ Object
readonly
Returns the value of attribute routes.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(&block) ⇒ Router
constructor
A new instance of Router.
Methods included from Middlewares::Helper
Constructor Details
#initialize(&block) ⇒ Router
Returns a new instance of Router.
14 15 16 17 18 |
# File 'lib/walle/robot/router.rb', line 14 def initialize(&block) @routes = [] @default = { true => DEFAULT_ROUTER, false => DEFAULT_ROUTER } run_builder!(block) end |
Instance Attribute Details
#default ⇒ Object (readonly)
Returns the value of attribute default.
12 13 14 |
# File 'lib/walle/robot/router.rb', line 12 def default @default end |
#middlewares ⇒ Object (readonly)
Returns the value of attribute middlewares.
12 13 14 |
# File 'lib/walle/robot/router.rb', line 12 def middlewares @middlewares end |
#routes ⇒ Object (readonly)
Returns the value of attribute routes.
12 13 14 |
# File 'lib/walle/robot/router.rb', line 12 def routes @routes end |
Instance Method Details
#call(env) ⇒ Object
20 21 22 23 24 |
# File 'lib/walle/robot/router.rb', line 20 def call(env) run_middlewares(env) do |env| lookup_route(env).call(env) end end |