mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Avoid uninitialized variable warning, reuse @integration_session.
This commit is contained in:
parent
24ef32fe93
commit
53b91b11cc
1 changed files with 14 additions and 8 deletions
|
@ -182,6 +182,7 @@ module ActionDispatch
|
||||||
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 @@ module ActionDispatch
|
||||||
%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 @@ module ActionDispatch
|
||||||
# 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 @@ module ActionDispatch
|
||||||
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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue