From 22f592401444a83b7b2d3c2165ac666d69955d08 Mon Sep 17 00:00:00 2001 From: schneems Date: Thu, 30 Jul 2015 12:34:48 -0500 Subject: Use delete_if instead of each; delete(key) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is slightly faster: ``` Calculating ------------------------------------- each; delete 35.166k i/100ms delete_if 36.416k i/100ms ------------------------------------------------- each; delete 478.026k (± 8.5%) i/s - 2.391M delete_if 485.123k (± 7.9%) i/s - 2.440M ``` --- actionpack/lib/action_dispatch/journey/formatter.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_dispatch/journey/formatter.rb b/actionpack/lib/action_dispatch/journey/formatter.rb index d6daf5280b..d839fec48d 100644 --- a/actionpack/lib/action_dispatch/journey/formatter.rb +++ b/actionpack/lib/action_dispatch/journey/formatter.rb @@ -58,9 +58,8 @@ module ActionDispatch !options.key?(part) || (options[part] || recall[part]).nil? } | route.required_parts - parameterized_parts.each do |bad_key, _| - next if keys_to_keep.include?(bad_key) - parameterized_parts.delete(bad_key) + parameterized_parts.delete_if do |bad_key, _| + !keys_to_keep.include?(bad_key) end if parameterize -- cgit v1.2.3