aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-08-15 18:08:46 -0500
committerJoshua Peek <josh@joshpeek.com>2009-08-15 18:08:46 -0500
commit911acc10de483e0d7a9e6b3c475aeaecad49bfc5 (patch)
tree93717d81d45c3f5aa74440f391ed83952ba4bb35 /actionpack
parentdf6617bc8ac1677ab2b2cf7ed2859cdcc393ccb5 (diff)
downloadrails-911acc10de483e0d7a9e6b3c475aeaecad49bfc5.tar.gz
rails-911acc10de483e0d7a9e6b3c475aeaecad49bfc5.tar.bz2
rails-911acc10de483e0d7a9e6b3c475aeaecad49bfc5.zip
Axe "best fit" generation support
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_controller/routing/route_set.rb29
-rw-r--r--actionpack/test/controller/routing_test.rb12
2 files changed, 2 insertions, 39 deletions
diff --git a/actionpack/lib/action_controller/routing/route_set.rb b/actionpack/lib/action_controller/routing/route_set.rb
index 09f6024d39..a4f54ad662 100644
--- a/actionpack/lib/action_controller/routing/route_set.rb
+++ b/actionpack/lib/action_controller/routing/route_set.rb
@@ -407,22 +407,9 @@ module ActionController
# don't use the recalled keys when determining which routes to check
routes = routes_by_controller[controller][action][options.reject {|k,v| !v}.keys.sort_by { |x| x.object_id }]
- routes[1].each_with_index do |route, index|
+ routes.each_with_index do |route, index|
results = route.__send__(method, options, merged, expire_on)
if results && (!results.is_a?(Array) || results.first)
-
- # Compare results with Rails 3.0 behavior
- if routes[0][index] != route
- routes[0].each do |route2|
- new_results = route2.__send__(method, options, merged, expire_on)
- if new_results && (!new_results.is_a?(Array) || new_results.first)
- ActiveSupport::Deprecation.warn "The URL you generated will use the first matching route in routes.rb rather than the \"best\" match. " +
- "In Rails 3.0 #{new_results} would of been generated instead of #{results}"
- break
- end
- end
- end
-
return results
end
end
@@ -463,10 +450,7 @@ module ActionController
@routes_by_controller ||= Hash.new do |controller_hash, controller|
controller_hash[controller] = Hash.new do |action_hash, action|
action_hash[action] = Hash.new do |key_hash, keys|
- key_hash[keys] = [
- routes_for_controller_and_action_and_keys(controller, action, keys),
- deprecated_routes_for_controller_and_action_and_keys(controller, action, keys)
- ]
+ key_hash[keys] = routes_for_controller_and_action_and_keys(controller, action, keys)
end
end
end
@@ -487,15 +471,6 @@ module ActionController
end
end
- def deprecated_routes_for_controller_and_action_and_keys(controller, action, keys)
- selected = routes.select do |route|
- route.matches_controller_and_action? controller, action
- end
- selected.sort_by do |route|
- (keys - route.significant_keys).length
- end
- end
-
# Subclasses and plugins may override this method to extract further attributes
# from the request, for use by route conditions and such.
def extract_request_environment(request)
diff --git a/actionpack/test/controller/routing_test.rb b/actionpack/test/controller/routing_test.rb
index 000f35e0f2..33fb6ac017 100644
--- a/actionpack/test/controller/routing_test.rb
+++ b/actionpack/test/controller/routing_test.rb
@@ -1411,18 +1411,6 @@ class RouteSetTest < ActiveSupport::TestCase
Object.send(:remove_const, :Api)
end
- def test_generate_finds_best_fit
- set.draw do |map|
- map.connect "/people", :controller => "people", :action => "index"
- map.connect "/ws/people", :controller => "people", :action => "index", :ws => true
- end
-
- assert_deprecated {
- url = set.generate(:controller => "people", :action => "index", :ws => true)
- assert_equal "/ws/people", url
- }
- end
-
def test_generate_changes_controller_module
set.draw { |map| map.connect ':controller/:action/:id' }
current = { :controller => "bling/bloop", :action => "bap", :id => 9 }