Sha256: 140f627d724757a183c803742cc16da3cfabf7d8b1aa13db82a5bdd8f53c24f1
Contents?: true
Size: 1.04 KB
Versions: 9
Compression:
Stored size: 1.04 KB
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| 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) Target.new(application, controller, action) end end end end
Version data entries
9 entries across 9 versions & 1 rubygems