aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/routing/route_set.rb
diff options
context:
space:
mode:
authorAaron Batalion <aaron@hungrymachine.com>2008-11-24 02:24:19 -0500
committerDavid Heinemeier Hansson <david@loudthinking.com>2008-11-26 10:52:05 +0100
commitfef6c32afe2276dffa0347e25808a86e7a101af1 (patch)
tree42a43392f0e478e7b752bfd885a4e91b08828487 /actionpack/lib/action_controller/routing/route_set.rb
parent6599dd907f87875045005c3754fc7fe75c130c3e (diff)
downloadrails-fef6c32afe2276dffa0347e25808a86e7a101af1.tar.gz
rails-fef6c32afe2276dffa0347e25808a86e7a101af1.tar.bz2
rails-fef6c32afe2276dffa0347e25808a86e7a101af1.zip
Added optimal formatted routes to rails, deprecating the formatted_* methods, and reducing routes creation by 50% [#1359 state:committed]
Signed-off-by: David Heinemeier Hansson <david@loudthinking.com>
Diffstat (limited to 'actionpack/lib/action_controller/routing/route_set.rb')
-rw-r--r--actionpack/lib/action_controller/routing/route_set.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/routing/route_set.rb b/actionpack/lib/action_controller/routing/route_set.rb
index 3bb25dbba9..89cdf9d0f5 100644
--- a/actionpack/lib/action_controller/routing/route_set.rb
+++ b/actionpack/lib/action_controller/routing/route_set.rb
@@ -185,6 +185,14 @@ module ActionController
end
url_for(#{hash_access_method}(opts))
+
+ end
+ #Add an alias to support the now deprecated formatted_* URL.
+ def formatted_#{selector}(*args)
+ ActiveSupport::Deprecation.warn(
+ "formatted_#{selector}() has been deprecated. please pass format to the standard" +
+ "#{selector}() method instead.", caller)
+ #{selector}(*args)
end
protected :#{selector}
end_eval
@@ -361,7 +369,7 @@ module ActionController
end
# don't use the recalled keys when determining which routes to check
- routes = routes_by_controller[controller][action][options.keys.sort_by { |x| x.object_id }]
+ routes = routes_by_controller[controller][action][options.reject {|k,v| !v}.keys.sort_by { |x| x.object_id }]
routes.each do |route|
results = route.__send__(method, options, merged, expire_on)