diff options
author | Joshua Peek <josh@joshpeek.com> | 2009-10-24 18:08:54 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-10-24 18:08:54 -0500 |
commit | a840c8afbf4e30b7bd9979e8cd70192c65be7a43 (patch) | |
tree | 82ca10172b498a604c051576f51e113eefe9a574 /actionpack/lib/action_dispatch/routing/mapper.rb | |
parent | a0049a6b429c6de46537cc31bf7b3ca48b4c1b2c (diff) | |
download | rails-a840c8afbf4e30b7bd9979e8cd70192c65be7a43.tar.gz rails-a840c8afbf4e30b7bd9979e8cd70192c65be7a43.tar.bz2 rails-a840c8afbf4e30b7bd9979e8cd70192c65be7a43.zip |
Restore `rake routes` [#3402 state:resolved]
Diffstat (limited to 'actionpack/lib/action_dispatch/routing/mapper.rb')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/mapper.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index ab4193266a..d6d822842b 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -252,9 +252,11 @@ module ActionDispatch constraints = (@scope[:constraints] || {}).merge(constraints) options.each { |k, v| constraints[k] = v if v.is_a?(Regexp) } - conditions[:path_info] = Rack::Mount::Strexp.compile(path, constraints, %w( / . ? )) + conditions[:path_info] = path + requirements = constraints.dup - segment_keys = Rack::Mount::RegexpWithNamedGroups.new(conditions[:path_info]).names + path_regexp = Rack::Mount::Strexp.compile(path, constraints, SEPARATORS) + segment_keys = Rack::Mount::RegexpWithNamedGroups.new(path_regexp).names constraints.reject! { |k, v| segment_keys.include?(k.to_s) } conditions.merge!(constraints) @@ -286,7 +288,7 @@ module ActionDispatch end app = Constraints.new(app, blocks) if blocks.any? - @set.add_route(app, conditions, defaults, options[:as]) + @set.add_route(app, conditions, requirements, defaults, options[:as]) self end |