From 73a7b52f0182a789bf45d4b0c23384911d1ed034 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 9 May 2014 17:12:08 -0700 Subject: don't mutate the options hash, so we don't have to dup avoids extra hash allocations on each call --- actionpack/lib/action_dispatch/http/url.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'actionpack') diff --git a/actionpack/lib/action_dispatch/http/url.rb b/actionpack/lib/action_dispatch/http/url.rb index ce21d98174..f33a855bc2 100644 --- a/actionpack/lib/action_dispatch/http/url.rb +++ b/actionpack/lib/action_dispatch/http/url.rb @@ -29,10 +29,9 @@ module ActionDispatch extract_subdomains(host, tld_length).join('.') end - def url_for(options = {}) - options = options.dup - path = options.delete(:script_name).to_s.chomp("/") - path << options.delete(:path).to_s + def url_for(options) + path = options[:script_name].to_s.chomp("/") + path << options[:path].to_s params = options[:params].is_a?(Hash) ? options[:params] : options.slice(:params) params.reject! { |_,v| v.to_param.nil? } -- cgit v1.2.3