Class: ActionDispatch::Routing::Mapper

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

Defined Under Namespace

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

Constant Summary collapse

URL_OPTIONS =
[:protocol, :subdomain, :domain, :host, :port]

Constants included from Resources

Resources::CANONICAL_ACTIONS, Resources::RESOURCE_OPTIONS, Resources::VALID_ON_OPTIONS

Constants included from Scoping

Scoping::POISON

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CustomUrls

#direct, #resolve

Methods included from Resources

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

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, #with_default_scope

Constructor Details

#initialize(set) ⇒ Mapper

:nodoc:



2273
2274
2275
2276
2277
# File 'lib/action_dispatch/routing/mapper.rb', line 2273

def initialize(set) #:nodoc:
  @set = set
  @scope = Scope.new(path_names: @set.resources_path_names)
  @concerns = {}
end

Class Method Details

.normalize_name(name) ⇒ Object



405
406
407
# File 'lib/action_dispatch/routing/mapper.rb', line 405

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.



399
400
401
402
403
# File 'lib/action_dispatch/routing/mapper.rb', line 399

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