提交 53b91b11 编写于 作者: E Emilio Tagua

Avoid uninitialized variable warning, reuse @integration_session.

上级 24ef32fe
...@@ -182,6 +182,7 @@ def initialize(app) ...@@ -182,6 +182,7 @@ def initialize(app)
reset! reset!
end end
remove_method :default_url_options
def default_url_options def default_url_options
{ :host => host, :protocol => https? ? "https" : "http" } { :host => host, :protocol => https? ? "https" : "http" }
end end
...@@ -319,10 +320,10 @@ def reset! ...@@ -319,10 +320,10 @@ def reset!
%w(get post put head delete cookies assigns %w(get post put head delete cookies assigns
xml_http_request xhr get_via_redirect post_via_redirect).each do |method| xml_http_request xhr get_via_redirect post_via_redirect).each do |method|
define_method(method) do |*args| define_method(method) do |*args|
reset! unless @integration_session reset! unless integration_session
# reset the html_document variable, but only for new get/post calls # reset the html_document variable, but only for new get/post calls
@html_document = nil unless %w(cookies assigns).include?(method) @html_document = nil unless %w(cookies assigns).include?(method)
@integration_session.__send__(method, *args).tap do integration_session.__send__(method, *args).tap do
copy_session_variables! copy_session_variables!
end end
end end
...@@ -347,7 +348,7 @@ def open_session(app = nil) ...@@ -347,7 +348,7 @@ def open_session(app = nil)
# Copy the instance variables from the current session instance into the # Copy the instance variables from the current session instance into the
# test instance. # test instance.
def copy_session_variables! #:nodoc: def copy_session_variables! #:nodoc:
return unless @integration_session return unless integration_session
%w(controller response request).each do |var| %w(controller response request).each do |var|
instance_variable_set("@#{var}", @integration_session.__send__(var)) instance_variable_set("@#{var}", @integration_session.__send__(var))
end end
...@@ -357,21 +358,26 @@ def copy_session_variables! #:nodoc: ...@@ -357,21 +358,26 @@ def copy_session_variables! #:nodoc:
include ActionDispatch::Routing::UrlFor include ActionDispatch::Routing::UrlFor
def url_options def url_options
reset! unless @integration_session reset! unless integration_session
@integration_session.url_options integration_session.url_options
end end
# Delegate unhandled messages to the current session instance. # Delegate unhandled messages to the current session instance.
def method_missing(sym, *args, &block) def method_missing(sym, *args, &block)
reset! unless @integration_session reset! unless integration_session
if @integration_session.respond_to?(sym) if integration_session.respond_to?(sym)
@integration_session.__send__(sym, *args, &block).tap do integration_session.__send__(sym, *args, &block).tap do
copy_session_variables! copy_session_variables!
end end
else else
super super
end end
end end
private
def integration_session
@integration_session ||= nil
end
end end
end end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册