class Rails::InfoController

def matching_routes(query:, exact_match:)

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 = RFC2396_PARSER.escape(route_wrapper.reqs)
      match = exact_match ? (query === controller_action) : controller_action.include?(query)
    end
    route_wrapper.path if match
  end
end