Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

swtich to returning early if to responds to call

  • Loading branch information...
commit 3c03e7e2ab65a154bf82cbe697a9bddbecc20897 1 parent ac9a3a9
@tenderlove tenderlove authored
Showing with 32 additions and 35 deletions.
  1. +32 −35 actionpack/lib/action_dispatch/routing/mapper.rb
View
67 actionpack/lib/action_dispatch/routing/mapper.rb
@@ -237,47 +237,44 @@ def app
end
def default_controller_and_action
- if to.respond_to?(:call)
- { }
- else
- controller = default_controller
- action = default_action
-
- case to
- when Symbol
- action = to.to_s
- when /#/
- controller, action = to.split('#')
- when String
- controller = to
- end
-
- if @scope[:module] && !controller.is_a?(Regexp)
- if controller =~ %r{\A/}
- controller = controller[1..-1]
- else
- controller = [@scope[:module], controller].compact.join("/").presence
- end
- end
-
- hash = {}
+ hash = {}
+ return hash if to.respond_to? :call
+
+ controller = default_controller
+ action = default_action
+
+ case to
+ when Symbol
+ action = to.to_s
+ when /#/
+ controller, action = to.split('#')
+ when String
+ controller = to
+ end
- if controller.is_a? Regexp
- hash[:controller] = controller
+ if @scope[:module] && !controller.is_a?(Regexp)
+ if controller =~ %r{\A/}
+ controller = controller[1..-1]
else
- check_controller! controller
- hash[:controller] = controller.to_s if controller
+ controller = [@scope[:module], controller].compact.join("/").presence
end
+ end
- if action.is_a? Regexp
- hash[:action] = action
- else
- check_action! action
- hash[:action] = action.to_s if action
- end
+ if controller.is_a? Regexp
+ hash[:controller] = controller
+ else
+ check_controller! controller
+ hash[:controller] = controller.to_s if controller
+ end
- hash
+ if action.is_a? Regexp
+ hash[:action] = action
+ else
+ check_action! action
+ hash[:action] = action.to_s if action
end
+
+ hash
end
def check_action!(action)
Please sign in to comment.
Something went wrong with that request. Please try again.