From b592c5b607e4879c0b603bf636cf6d11e9f4b8d2 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 14 Aug 2015 10:44:49 -0700 Subject: [PATCH] pass the path ast down now we don't need to add it to a hash and delete it from the hash later just to pass it around --- actionpack/lib/action_dispatch/routing/mapper.rb | 3 +-- actionpack/lib/action_dispatch/routing/route_set.rb | 5 ++--- actionpack/test/dispatch/mapper_test.rb | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index 98c17c6dbb..40b10d33e9 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -134,7 +134,6 @@ def initialize(set, ast, defaults, controller, default_action, modyoule, to, for @defaults = formats[:defaults].merge(@defaults).merge(normalize_defaults(options)) @conditions[:required_defaults] = (split_options[:required_defaults] || []).map(&:first) - @conditions[:parsed_path_info] = ast unless via == [:all] @conditions[:request_method] = via.map { |m| m.to_s.dasherize.upcase } end @@ -1605,7 +1604,7 @@ def add_route(action, controller, options, _path, to, via, formatted, anchor, op mapping = Mapping.build(@scope, @set, ast, controller, default_action, to, via, formatted, options_constraints, options) app, conditions, requirements, defaults = mapping.to_route - @set.add_route(app, conditions, requirements, defaults, as, anchor) + @set.add_route(app, conditions, ast, requirements, defaults, as, anchor) end def root(path, options={}) diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb index a3cadec68f..04d8013768 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -514,7 +514,7 @@ def empty? routes.empty? end - def add_route(app, conditions, requirements, defaults, name, anchor) + def add_route(app, conditions, path_ast, requirements, defaults, name, anchor) raise ArgumentError, "Invalid route name: '#{name}'" unless name.blank? || name.to_s.match(/^[_a-z]\w*$/i) if name && named_routes[name] @@ -525,9 +525,8 @@ def add_route(app, conditions, requirements, defaults, name, anchor) "http://guides.rubyonrails.org/routing.html#restricting-the-routes-created" end - ast = conditions.delete :parsed_path_info required_defaults = conditions.delete :required_defaults - path = build_path(ast, requirements, anchor) + path = build_path(path_ast, requirements, anchor) conditions = build_conditions(conditions) route = @set.add_route(app, path, conditions, required_defaults, defaults, name) diff --git a/actionpack/test/dispatch/mapper_test.rb b/actionpack/test/dispatch/mapper_test.rb index 0c506a13bf..289fb69b8b 100644 --- a/actionpack/test/dispatch/mapper_test.rb +++ b/actionpack/test/dispatch/mapper_test.rb @@ -27,7 +27,7 @@ def dispatcher_class end def defaults - @my_routes.map { |x| x[3] } + @my_routes.map { |x| x[4] } end def conditions -- GitLab