method
normalize_options!
v4.2.1 -
Show latest stable
- Class:
ActionDispatch::Routing::Mapper::Mapping
normalize_options!(options, formatted, path_params, path_ast, modyoule)private
No documentation available.
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 150
def normalize_options!(options, formatted, path_params, path_ast, modyoule)
# Add a constraint for wildcard route to make it non-greedy and match the
# optional format part of the route by default
if formatted != false
path_ast.grep(Journey::Nodes::Star) do |node|
options[node.name.to_sym] ||= /.+?/
end
end
if path_params.include?(:controller)
raise ArgumentError, ":controller segment is not allowed within a namespace block" if modyoule
# Add a default constraint for :controller path segments that matches namespaced
# controllers with default routes like :controller/:action/:id(.:format), e.g:
# GET /admin/products/show/1
# => { controller: 'admin/products', action: 'show', id: '1' }
options[:controller] ||= /.+?/
end
if to.respond_to? :call
options
else
to_endpoint = split_to to
controller = to_endpoint[0] || default_controller
action = to_endpoint[1] || default_action
controller = add_controller_module(controller, modyoule)
options.merge! check_controller_and_action(path_params, controller, action)
end
end