module ActionDispatch::Routing::Mapper::Resources

def map_match(paths, options)

def map_match(paths, options)
  ActionDispatch.deprecator.warn(<<-MSG.squish) if paths.count > 1
    Mapping a route with multiple paths is deprecated and
    will be removed in Rails 8.1. Please use multiple method calls instead.
  MSG
  if (on = options[:on]) && !VALID_ON_OPTIONS.include?(on)
    raise ArgumentError, "Unknown scope #{on.inspect} given to :on"
  end
  if @scope[:to]
    options[:to] ||= @scope[:to]
  end
  if @scope[:controller] && @scope[:action]
    options[:to] ||= "#{@scope[:controller]}##{@scope[:action]}"
  end
  controller = options.delete(:controller) || @scope[:controller]
  option_path = options.delete :path
  to = options.delete :to
  via = Mapping.check_via Array(options.delete(:via) {
    @scope[:via]
  })
  formatted = options.delete(:format) { @scope[:format] }
  anchor = options.delete(:anchor) { true }
  options_constraints = options.delete(:constraints) || {}
  path_types = paths.group_by(&:class)
  (path_types[String] || []).each do |_path|
    route_options = options.dup
    if _path && option_path
      raise ArgumentError, "Ambiguous route definition. Both :path and the route path were specified as strings."
    end
    to = get_to_from_path(_path, to, route_options[:action])
    decomposed_match(_path, controller, route_options, _path, to, via, formatted, anchor, options_constraints)
  end
  (path_types[Symbol] || []).each do |action|
    route_options = options.dup
    decomposed_match(action, controller, route_options, option_path, to, via, formatted, anchor, options_constraints)
  end
  self
end