From 5029c371fe398c915b0291be7ea54a8937cffa76 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 30 May 2014 15:14:04 -0700 Subject: [PATCH] only do is_a checks on `formatted` once --- actionpack/lib/action_dispatch/routing/mapper.rb | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index 7b0784b999..377d09a515 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -110,7 +110,7 @@ def initialize(scope, path, options) @conditions[:parsed_path_info] = ast add_request_method(via, @conditions) - normalize_defaults!(options, formatted) + normalize_defaults!(options) end def to_route @@ -177,8 +177,10 @@ def normalize_format!(formatted) @requirements[:format] ||= /.+/ elsif Regexp === formatted @requirements[:format] = formatted + @defaults[:format] = nil elsif String === formatted @requirements[:format] = Regexp.compile(formatted) + @defaults[:format] = formatted end end @@ -192,18 +194,12 @@ def verify_regexp_requirement(requirement) end end - def normalize_defaults!(options, formatted) - options.each do |key, default| + def normalize_defaults!(options) + options.each_pair do |key, default| unless Regexp === default @defaults[key] = default end end - - if Regexp === formatted - @defaults[:format] = nil - elsif String === formatted - @defaults[:format] = formatted - end end def verify_callable_constraint(callable_constraint) -- GitLab