Sha256: 88ef57d509327a362c32041c8c9e773c8c470478a8fb82783e47b169eb1b8c82
Contents?: true
Size: 1014 Bytes
Versions: 13
Compression:
Stored size: 1014 Bytes
Contents
module Praxis module BootloaderStages class Routing < Stage class Target attr_reader :action def initialize(application, controller, action) @application = application @controller = controller @action = action end def call(request) request.action = @action dispatcher = Dispatcher.current(application: @application) dispatcher.dispatch(@controller, @action, request) end end def execute application.controllers.each do |controller| controller.definition.actions.each do |action_name, action| target = target_factory(controller, action_name) application.router.add_route target, action.route end end end def target_factory(controller, action_name) action = controller.definition.actions.fetch(action_name) Target.new(application, controller, action) end end end end
Version data entries
13 entries across 13 versions & 1 rubygems