Methods
Included Modules
-
ActionDispatch::
Routing:: Mapper:: Base -
ActionDispatch::
Routing:: Mapper:: HttpHelpers -
ActionDispatch::
Routing:: Redirection -
ActionDispatch::
Routing:: Mapper:: Scoping -
ActionDispatch::
Routing:: Mapper:: Concerns -
ActionDispatch::
Routing:: Mapper:: Resources -
ActionDispatch::
Routing:: Mapper:: CustomUrls
Constants
URL_OPTIONS |
= | [:protocol, :subdomain, :domain, :host, :port] |
Public class methods
Source code GitHub
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 393
def self.normalize_name(name)
normalize_path(name)[1..-1].tr("/", "_")
end
Invokes Journey::Router::Utils.normalize_path, then ensures that /(:locale) becomes (/:locale). Except for root cases, where the former is the correct one.
Source code GitHub
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 376
def self.normalize_path(path)
path = Journey::Router::Utils.normalize_path(path)
# the path for a root URL at this point can be something like
# "/(/:locale)(/:platform)/(:browser)", and we would want
# "/(:locale)(/:platform)(/:browser)"
# reverse "/(", "/((" etc to "(/", "((/" etc
path.gsub!(%r{/(\(+)/?}, '\1/')
# if a path is all optional segments, change the leading "(/" back to
# "/(" so it evaluates to "/" when interpreted with no options.
# Unless, however, at least one secondary segment consists of a static
# part, ex. "(/:locale)(/pages/:page)"
path.sub!(%r{^(\(+)/}, '/\1') if %r{^(\(+[^)]+\))(\(+/:[^)]+\))*$}.match?(path)
path
end
Namespace
Definition files