From 6bd9ade0629811e4e8e0347b8f1bc2c84f811ce2 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 21 May 2014 16:21:33 -0700 Subject: fewer object allocations and method calls during route match --- actionpack/lib/action_dispatch/journey/router.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_dispatch/journey/router.rb b/actionpack/lib/action_dispatch/journey/router.rb index 7c614004d5..01ce55f6f6 100644 --- a/actionpack/lib/action_dispatch/journey/router.rb +++ b/actionpack/lib/action_dispatch/journey/router.rb @@ -136,11 +136,11 @@ module ActionDispatch routes.map! { |r| match_data = r.path.match(req.path_info) - match_names = match_data.names.map { |n| n.to_sym } - match_values = match_data.captures.map { |v| v && Utils.unescape_uri(v) } - info = Hash[match_names.zip(match_values).find_all { |_, y| y }] - - [match_data, r.defaults.merge(info), r] + path_parameters = {} + match_data.names.zip(match_data.captures) { |name,val| + path_parameters[name.to_sym] = Utils.unescape_uri(val) if val + } + [match_data, r.defaults.merge(path_parameters), r] } end -- cgit v1.2.3