Skip to content
Browse files

raise an error if the old router draw method is used, along with a me…

…ssage advising them to either upgrade their routes or add rails_legacy_mapper to their Gemfile
  • Loading branch information...
1 parent ed3e667 commit 275529446e765cb3c6d1e84bb8c1c8707e1b34a4 @joshk joshk committed
Showing with 11 additions and 0 deletions.
  1. +5 −0 actionpack/lib/action_dispatch/routing/route_set.rb
  2. +6 −0 actionpack/test/controller/routing_test.rb
View
5 actionpack/lib/action_dispatch/routing/route_set.rb
@@ -240,6 +240,11 @@ def append(&block)
end
def eval_block(block)
+ if block.arity == 1
+ raise "You are using the old router DSL which has been removed in Rails 3.1. " <<
+ "Please check how to update your routes file at: http://www.engineyard.com/blog/2010/the-lowdown-on-routes-in-rails-3/ " <<
+ "or add the rails_legacy_mapper gem to your Gemfile"
+ end
mapper = Mapper.new(self)
if default_scope
mapper.with_default_scope(default_scope, &block)
View
6 actionpack/test/controller/routing_test.rb
@@ -92,6 +92,12 @@ def teardown
@rs.clear!
end
+ def test_draw_with_block_arity_one_raises
+ assert_raise(RuntimeError) do
+ @rs.draw { |map| map.match '/:controller(/:action(/:id))' }
+ end
+ end
+
def test_default_setup
@rs.draw { match '/:controller(/:action(/:id))' }
assert_equal({:controller => "content", :action => 'index'}, rs.recognize_path("/content"))

0 comments on commit 2755294

Please sign in to comment.
Something went wrong with that request. Please try again.