Class: ActionDispatch::Routing::Mapper

Inherits:
Object
  • Object
show all
Includes:
Base, Concerns, HttpHelpers, Resources, Scoping, Redirection
Defined in:
lib/action_dispatch/routing/mapper.rb

Defined Under Namespace

Modules: Base, Concerns, HttpHelpers, Resources, Scoping Classes: Constraints, Mapping

Constant Summary collapse

URL_OPTIONS =
[:protocol, :subdomain, :domain, :host, :port]
SCOPE_OPTIONS =
[:path, :shallow_path, :as, :shallow_prefix, :module,
:controller, :action, :path_names, :constraints,
:shallow, :blocks, :defaults, :options]

Constants included from Resources

Resources::CANONICAL_ACTIONS, Resources::RESOURCE_METHOD_SCOPES, Resources::RESOURCE_OPTIONS, Resources::RESOURCE_SCOPES, Resources::VALID_ON_OPTIONS

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Resources

#add_route, #collection, #decomposed_match, #match, #member, #namespace, #nested, #new, #resource, #resources, #resources_path_names, #root, #shallow, #shallow?, #using_match_shorthand?

Methods included from Concerns

#concern, #concerns

Methods included from Scoping

#constraints, #controller, #defaults, #namespace, #scope

Methods included from Redirection

#redirect

Methods included from HttpHelpers

#delete, #get, #patch, #post, #put

Methods included from Base

#default_url_options=, #has_named_route?, #match, #mount, #root, #with_default_scope

Constructor Details

#initialize(set) ⇒ Mapper

:nodoc:



1817
1818
1819
1820
1821
1822
# File 'lib/action_dispatch/routing/mapper.rb', line 1817

def initialize(set) #:nodoc:
  @set = set
  @scope = { :path_names => @set.resources_path_names }
  @concerns = {}
  @nesting = []
end

Class Method Details

.normalize_name(name) ⇒ Object



313
314
315
# File 'lib/action_dispatch/routing/mapper.rb', line 313

def self.normalize_name(name)
  normalize_path(name)[1..-1].tr("/", "_")
end

.normalize_path(path) ⇒ Object

Invokes Journey::Router::Utils.normalize_path and ensure that (:locale) becomes (/:locale) instead of /(:locale). Except for root cases, where the latter is the correct one.



307
308
309
310
311
# File 'lib/action_dispatch/routing/mapper.rb', line 307

def self.normalize_path(path)
  path = Journey::Router::Utils.normalize_path(path)
  path.gsub!(%r{/(\(+)/?}, '\1/') unless path =~ %r{^/\(+[^)]+\)$}
  path
end