method

normalize_options!

normalize_options!(options, path_params, modyoule)
public

No documentation available.

# File actionpack/lib/action_dispatch/routing/mapper.rb, line 217
          def normalize_options!(options, path_params, modyoule)
            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?(:action) || to.respond_to?(:call)
              options
            else
              if to.nil?
                controller = default_controller
                action = default_action
              elsif to.is_a?(String)
                if to.include?("#")
                  to_endpoint = to.split("#").map!(&:-@)
                  controller  = to_endpoint[0]
                  action      = to_endpoint[1]
                else
                  controller = default_controller
                  action = to
                end
              else
                raise ArgumentError, ":to must respond to `action` or `call`, or it must be a String that includes '#', or the controller should be implicit"
              end

              controller = add_controller_module(controller, modyoule)

              options.merge! check_controller_and_action(path_params, controller, action)
            end
          end