Sha256: cf23faecd2afdb59eac481ff5b5aeb9af2d6f9019842faa1b6c80269500ff75b
Contents?: true
Size: 779 Bytes
Versions: 2
Compression:
Stored size: 779 Bytes
Contents
module Praxis module BootloaderStages class Routing < Stage def execute application.controllers.each do |controller| controller.definition.actions.each do |action_name, action| action.routes.each do |route| target = target_factory(controller, action_name) application.router.add_route target, route end end end end def target_factory(controller, action_name) action = controller.definition.actions.fetch(action_name) Proc.new do |request| request.action = action dispatcher = Dispatcher.current( application: application) dispatcher.dispatch(controller, action, request) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
praxis-0.10.1 | lib/praxis/bootloader_stages/routing.rb |
praxis-0.10.0 | lib/praxis/bootloader_stages/routing.rb |