diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-05-12 11:38:23 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-05-12 14:20:56 -0700 |
commit | eacb4264af7593a41487625d5a7a6f6986c58b47 (patch) | |
tree | f1e0e61ebedba91c06c1fd246da5f4a1a7e32006 | |
parent | a214bb71b2c4352d0c11abc8fcd354e88b6dcb62 (diff) | |
download | rails-eacb4264af7593a41487625d5a7a6f6986c58b47.tar.gz rails-eacb4264af7593a41487625d5a7a6f6986c58b47.tar.bz2 rails-eacb4264af7593a41487625d5a7a6f6986c58b47.zip |
Hash#except is expensive and this is a hotspot, so use a dup + delete
-rw-r--r-- | actionpack/lib/action_dispatch/routing/route_set.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb index 1ec6fa674b..440193cb42 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -657,7 +657,8 @@ module ActionDispatch script_name = original_script_name + script_name end - path_options = options.except(*RESERVED_OPTIONS) + path_options = options.dup + RESERVED_OPTIONS.each { |ro| path_options.delete ro } path_options = yield(path_options) if block_given? path, params = generate(path_options, recall || {}) |