mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Fixed CgiRequest so that it'll now accept session options with Symbols as keys (as the documentation points out) [Suggested by Andreas]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@117 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
9ee94ab13a
commit
6b284b87f2
3 changed files with 15 additions and 3 deletions
|
@ -1,5 +1,12 @@
|
||||||
*SVN*
|
*SVN*
|
||||||
|
|
||||||
|
* Fixed CgiRequest so that it'll now accept session options with Symbols as keys (as the documentation points out) [Suggested by Andreas]
|
||||||
|
|
||||||
|
* Added that render_partial will always by default include a counter with value 1 unless there is a counter passed in via the
|
||||||
|
local_assigns hash that overrides it. As a result, render_collection_of_partials can still be written in terms of render_partial
|
||||||
|
and partials that make use of a counter can be called without problems from both render_collection_of_partials as well as
|
||||||
|
render_partial #295 [marcel]
|
||||||
|
|
||||||
* Fixed CgiRequest#out to fall back to #write if $stdout doesn't have #syswrite [bitsweat]
|
* Fixed CgiRequest#out to fall back to #write if $stdout doesn't have #syswrite [bitsweat]
|
||||||
|
|
||||||
* Fixed all helpers so that they use XHTML compliant double quotes for values instead of single quotes [htonl/bitsweat]
|
* Fixed all helpers so that they use XHTML compliant double quotes for values instead of single quotes [htonl/bitsweat]
|
||||||
|
@ -120,6 +127,7 @@
|
||||||
|
|
||||||
* Fixed that link_to would escape & in the url again after url_for already had done so
|
* Fixed that link_to would escape & in the url again after url_for already had done so
|
||||||
|
|
||||||
|
|
||||||
*0.9.5* (28)
|
*0.9.5* (28)
|
||||||
|
|
||||||
* Added helper_method to designate that a given private or protected method you should available as a helper in the view. [bitsweat]
|
* Added helper_method to designate that a given private or protected method you should available as a helper in the view. [bitsweat]
|
||||||
|
|
|
@ -36,7 +36,7 @@ module ActionController #:nodoc:
|
||||||
attr_accessor :cgi
|
attr_accessor :cgi
|
||||||
|
|
||||||
DEFAULT_SESSION_OPTIONS =
|
DEFAULT_SESSION_OPTIONS =
|
||||||
{ "database_manager" => CGI::Session::PStore, "prefix" => "ruby_sess.", "session_path" => "/" }
|
{ :database_manager => CGI::Session::PStore, :prefix => "ruby_sess.", :session_path => "/" }
|
||||||
|
|
||||||
def initialize(cgi, session_options = {})
|
def initialize(cgi, session_options = {})
|
||||||
@cgi = cgi
|
@cgi = cgi
|
||||||
|
@ -67,7 +67,7 @@ module ActionController #:nodoc:
|
||||||
def session
|
def session
|
||||||
return @session unless @session.nil?
|
return @session unless @session.nil?
|
||||||
begin
|
begin
|
||||||
@session = (@session_options == false ? {} : CGI::Session.new(@cgi, DEFAULT_SESSION_OPTIONS.merge(@session_options)))
|
@session = (@session_options == false ? {} : CGI::Session.new(@cgi, session_options_with_string_keys))
|
||||||
@session["__valid_session"]
|
@session["__valid_session"]
|
||||||
return @session
|
return @session
|
||||||
rescue ArgumentError => e
|
rescue ArgumentError => e
|
||||||
|
@ -94,6 +94,10 @@ module ActionController #:nodoc:
|
||||||
def new_session
|
def new_session
|
||||||
CGI::Session.new(@cgi, DEFAULT_SESSION_OPTIONS.merge(@session_options).merge("new_session" => true))
|
CGI::Session.new(@cgi, DEFAULT_SESSION_OPTIONS.merge(@session_options).merge("new_session" => true))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def session_options_with_string_keys
|
||||||
|
DEFAULT_SESSION_OPTIONS.merge(@session_options).inject({}) { |options, pair| options[pair.first.to_s] = pair.last; options }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class CgiResponse < AbstractResponse #:nodoc:
|
class CgiResponse < AbstractResponse #:nodoc:
|
||||||
|
|
|
@ -41,7 +41,7 @@ module ActionController #:nodoc:
|
||||||
|
|
||||||
def []=(name, options)
|
def []=(name, options)
|
||||||
if options.is_a?(Hash)
|
if options.is_a?(Hash)
|
||||||
options.each { |key, value| options[key.to_s] = value }
|
options = options.inject({}) { |options, pair| options[pair.first.to_s] = pair.last; options }
|
||||||
options["name"] = name.to_s
|
options["name"] = name.to_s
|
||||||
else
|
else
|
||||||
options = { "name" => name, "value" => options }
|
options = { "name" => name, "value" => options }
|
||||||
|
|
Loading…
Reference in a new issue