aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2010-09-24 16:57:28 -0300
committerEmilio Tagua <miloops@gmail.com>2010-09-27 11:19:24 -0300
commitc2940a6bf4b101eafc0c9d968f4e702473156613 (patch)
treeed8ac32f876a61b9ff4bcdeafe96a7d51494104d
parentd0621fde885ca0b61c75d0fd0b03bd431d736b42 (diff)
downloadrails-c2940a6bf4b101eafc0c9d968f4e702473156613.tar.gz
rails-c2940a6bf4b101eafc0c9d968f4e702473156613.tar.bz2
rails-c2940a6bf4b101eafc0c9d968f4e702473156613.zip
Refactor method to avoid warnings and not run unnecessary code.
-rw-r--r--actionpack/lib/action_dispatch/testing/assertions/routing.rb22
1 files changed, 11 insertions, 11 deletions
diff --git a/actionpack/lib/action_dispatch/testing/assertions/routing.rb b/actionpack/lib/action_dispatch/testing/assertions/routing.rb
index 4293ed19e1..0cdc69760b 100644
--- a/actionpack/lib/action_dispatch/testing/assertions/routing.rb
+++ b/actionpack/lib/action_dispatch/testing/assertions/routing.rb
@@ -146,25 +146,25 @@ module ActionDispatch
#
def with_routing
old_routes, @routes = @routes, ActionDispatch::Routing::RouteSet.new
- old_controller, @controller = @controller, @controller.clone if @controller
- _routes = @routes
-
- # Unfortunately, there is currently an abstraction leak between AC::Base
- # and AV::Base which requires having the URL helpers in both AC and AV.
- # To do this safely at runtime for tests, we need to bump up the helper serial
- # to that the old AV subclass isn't cached.
- #
- # TODO: Make this unnecessary
- if @controller
+ if defined?(@controller) && @controller
+ old_controller, @controller = @controller, @controller.clone
+
+ # Unfortunately, there is currently an abstraction leak between AC::Base
+ # and AV::Base which requires having the URL helpers in both AC and AV.
+ # To do this safely at runtime for tests, we need to bump up the helper serial
+ # to that the old AV subclass isn't cached.
+ #
+ # TODO: Make this unnecessary
@controller.singleton_class.send(:include, _routes.url_helpers)
@controller.view_context_class = Class.new(@controller.view_context_class) do
include _routes.url_helpers
end
end
+ _routes = @routes
yield @routes
ensure
@routes = old_routes
- if @controller
+ if defined?(@controller) && @controller
@controller = old_controller
end
end