method
map_match
v7.1.3.2 -
Show latest stable
-
0 notes -
Class: Resources
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
map_match(paths, options)
private
Hide source
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 1901 def map_match(paths, options) 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