class ActionDispatch::Routing::RouteSet

Constants

CONTROLLER_REGEXP

Attributes

controller_namespaces[RW]

Public Instance Methods

controller_constraints() click to toggle source
# File lib/action_dispatch/routing/deprecated_mapper.rb, line 12
def controller_constraints
  @controller_constraints ||= begin
    namespaces = controller_namespaces + in_memory_controller_namespaces
    source = namespaces.map { |ns| "#{Regexp.escape(ns)}/#{CONTROLLER_REGEXP.source}" }
    source << CONTROLLER_REGEXP.source
    Regexp.compile(source.sort.reverse.join('|'))
  end
end
in_memory_controller_namespaces() click to toggle source
# File lib/action_dispatch/routing/deprecated_mapper.rb, line 21
def in_memory_controller_namespaces
  namespaces = Set.new
  ActionController::Base.descendants.each do |klass|
    next if klass.anonymous?
    namespaces << klass.name.underscore.split('/')[0...-1].join('/')
  end
  namespaces.delete('')
  namespaces
end