提交 c2940a6b 编写于 作者: E Emilio Tagua

Refactor method to avoid warnings and not run unnecessary code.

上级 d0621fde
......@@ -146,25 +146,25 @@ def assert_routing(path, options, defaults={}, extras={}, message=nil)
#
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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册