diff options
-rw-r--r-- | actionpack/lib/action_dispatch/routing/redirection.rb | 4 | ||||
-rw-r--r-- | railties/lib/rails/application/route_inspector.rb | 4 | ||||
-rw-r--r-- | railties/test/application/route_inspect_test.rb | 9 |
3 files changed, 15 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/routing/redirection.rb b/actionpack/lib/action_dispatch/routing/redirection.rb index 95c588c00a..3e2a9e232d 100644 --- a/actionpack/lib/action_dispatch/routing/redirection.rb +++ b/actionpack/lib/action_dispatch/routing/redirection.rb @@ -35,6 +35,10 @@ module ActionDispatch def path(params, request) block.call params, request end + + def inspect + "Redirect (#{status})" + end end class OptionRedirect < Redirect # :nodoc: diff --git a/railties/lib/rails/application/route_inspector.rb b/railties/lib/rails/application/route_inspector.rb index 1e5ce67a58..845c54f416 100644 --- a/railties/lib/rails/application/route_inspector.rb +++ b/railties/lib/rails/application/route_inspector.rb @@ -16,7 +16,7 @@ module Rails class_name = app.class.name.to_s if class_name == "ActionDispatch::Routing::Mapper::Constraints" rack_app(app.app) - elsif class_name !~ /^ActionDispatch::Routing/ + elsif class_name == "ActionDispatch::Routing::Redirect" || class_name !~ /^ActionDispatch::Routing/ app end end @@ -67,7 +67,7 @@ module Rails @engines = Hash.new end - def format all_routes, filter = nil + def format(all_routes, filter = nil) if filter all_routes = all_routes.select{ |route| route.defaults[:controller] == filter } end diff --git a/railties/test/application/route_inspect_test.rb b/railties/test/application/route_inspect_test.rb index 94871c3759..31af1ca6dc 100644 --- a/railties/test/application/route_inspect_test.rb +++ b/railties/test/application/route_inspect_test.rb @@ -152,5 +152,14 @@ module ApplicationTests assert_no_match(/RackApp/, output.first) assert_no_match(/\/sprockets/, output.first) end + + def test_redirect + output = draw do + match '/foo' => redirect("/bar") + match '/foo2' => redirect("/bar", status: 307) + end + assert_equal " foo /foo(.:format) Redirect (301)", output[0] + assert_equal "foo2 /foo2(.:format) Redirect (307)", output[1] + end end end |