method
matching_routes
rails latest stable - Class:
Rails::InfoController
matching_routes(query:, exact_match:)private
No documentation available.
# File railties/lib/rails/info_controller.rb, line 36
def matching_routes(query,, exact_match))
return [] if query.blank?
normalized_path = ("/" + query).squeeze("/")
query_without_url_or_path_suffix = query.gsub(/(\w)(_path$)/, '\1').gsub(/(\w)(_url$)/, '\1')
_routes.routes.filter_map do |route|
route_wrapper = ActionDispatch::Routing::RouteWrapper.new(route)
if exact_match
match = route.path.match(normalized_path)
match ||= (query_without_url_or_path_suffix === route_wrapper.name)
else
match = route_wrapper.path.match(query)
match ||= route_wrapper.name.include?(query_without_url_or_path_suffix)
end
match ||= (query === route_wrapper.verb)
unless match
controller_action = URI::DEFAULT_PARSER.escape(route_wrapper.reqs)
match = exact_match ? (query === controller_action) : controller_action.include?(query)
end
route_wrapper.path if match
end
end