Class: Wayfarer::Middleware::Router
- Inherits:
-
Object
- Object
- Wayfarer::Middleware::Router
- Defined in:
- lib/wayfarer/middleware/router.rb
Defined Under Namespace
Modules: API
Instance Method Summary collapse
Instance Method Details
#call(task) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/wayfarer/middleware/router.rb', line 37 def call(task) router = task.job.class.router url = Addressable::URI.parse(task.url) case result = router.invoke(url, task.job.steer) when Routing::Result::Mismatch return when Routing::Result::Match task..action = result.action task..params = ActiveSupport::HashWithIndifferentAccess.new(result.params) end yield if block_given? end |