aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-08-08 12:22:21 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-08-08 12:22:21 -0300
commitd919fd88ecbf79c969cf1896cb293345e43efb6a (patch)
tree66680a823c5c925e60a7e55cf293967727f674a2 /actionpack/lib/action_dispatch
parent12f08acbacf823041dae27afd1a1a1458bb1e3fa (diff)
parent2992b1c04c555c6483245257eab16026dd0fd889 (diff)
downloadrails-d919fd88ecbf79c969cf1896cb293345e43efb6a.tar.gz
rails-d919fd88ecbf79c969cf1896cb293345e43efb6a.tar.bz2
rails-d919fd88ecbf79c969cf1896cb293345e43efb6a.zip
Merge pull request #11352 from xaviershay/dispatcher-api
Allow a custom dispatcher to be provided to routing.
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r--actionpack/lib/action_dispatch/routing/route_set.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb
index c9775a40b7..a8fb5aade3 100644
--- a/actionpack/lib/action_dispatch/routing/route_set.rb
+++ b/actionpack/lib/action_dispatch/routing/route_set.rb
@@ -62,13 +62,17 @@ module ActionDispatch
raise ActionController::RoutingError, e.message, e.backtrace if default_controller
end
- private
+ protected
+
+ attr_reader :controller_class_names
def controller_reference(controller_param)
- const_name = @controller_class_names[controller_param] ||= "#{controller_param.camelize}Controller"
+ const_name = controller_class_names[controller_param] ||= "#{controller_param.camelize}Controller"
ActiveSupport::Dependencies.constantize(const_name)
end
+ private
+
def dispatch(controller, action, req)
controller.action(action).call(req.env)
end
@@ -313,7 +317,7 @@ module ActionDispatch
attr_accessor :formatter, :set, :named_routes, :default_scope, :router
attr_accessor :disable_clear_and_finalize, :resources_path_names
- attr_accessor :default_url_options
+ attr_accessor :default_url_options, :dispatcher_class
attr_reader :env_key
alias :routes :set
@@ -356,6 +360,7 @@ module ActionDispatch
@set = Journey::Routes.new
@router = Journey::Router.new @set
@formatter = Journey::Formatter.new @set
+ @dispatcher_class = Routing::RouteSet::Dispatcher
end
def relative_url_root
@@ -414,7 +419,7 @@ module ActionDispatch
end
def dispatcher(defaults)
- Routing::RouteSet::Dispatcher.new(defaults)
+ dispatcher_class.new(defaults)
end
module MountedHelpers