diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2015-08-17 16:43:40 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2015-08-17 16:43:40 -0700 |
commit | c989e2c56f415e0a4429b1348e76be4fc8e9f35b (patch) | |
tree | 1b02a29d2fcdaf4b8c77060a8e02d1b9d0f34676 | |
parent | bb1003080259b3c6cb974e5c9d55a561a9530cbb (diff) | |
download | rails-c989e2c56f415e0a4429b1348e76be4fc8e9f35b.tar.gz rails-c989e2c56f415e0a4429b1348e76be4fc8e9f35b.tar.bz2 rails-c989e2c56f415e0a4429b1348e76be4fc8e9f35b.zip |
switch Route constructors and pass in the regexp
We don't need to add and delete from the conditions hash anymore, just
pass the regexp directly to the constructor.
-rw-r--r-- | actionpack/lib/action_dispatch/routing/mapper.rb | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index e964bf59e0..42257ac3d7 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -144,12 +144,13 @@ module ActionDispatch end def make_route(name, precedence) - route = Journey::Route.build(name, + route = Journey::Route.new(name, application, path, conditions, required_defaults, - defaults) + defaults, + request_method) route.precedence = precedence route @@ -170,20 +171,25 @@ module ActionDispatch def build_conditions(current_conditions, request_class) conditions = current_conditions.dup + conditions.keep_if do |k, _| + request_class.public_method_defined?(k) + end + end + private :build_conditions + + def request_method # Rack-Mount requires that :request_method be a regular expression. # :request_method represents the HTTP verb that matches this route. # # Here we munge values before they get sent on to rack-mount. - unless @via == [:all] + if @via == [:all] + // + else verbs = @via.map { |m| m.to_s.dasherize.upcase } - conditions[:request_method] = %r[^#{verbs.join('|')}$] - end - - conditions.keep_if do |k, _| - request_class.public_method_defined?(k) + %r[^#{verbs.join('|')}$] end end - private :build_conditions + private :request_method JOINED_SEPARATORS = SEPARATORS.join # :nodoc: |