aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/session_management.rb
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2008-12-16 00:04:04 -0600
committerJoshua Peek <josh@joshpeek.com>2008-12-16 00:04:04 -0600
commit9a733f6c640cb3c4d474ecf44dd62ab73e351fd5 (patch)
tree89916886926fd9e9dab2f9c988c3ff9f931d98eb /actionpack/lib/action_controller/session_management.rb
parent95c839bd2aca1576a33a6503f0dd67266d53a353 (diff)
downloadrails-9a733f6c640cb3c4d474ecf44dd62ab73e351fd5.tar.gz
rails-9a733f6c640cb3c4d474ecf44dd62ab73e351fd5.tar.bz2
rails-9a733f6c640cb3c4d474ecf44dd62ab73e351fd5.zip
Don't write nil values to default session options hash
Diffstat (limited to 'actionpack/lib/action_controller/session_management.rb')
-rw-r--r--actionpack/lib/action_controller/session_management.rb12
1 files changed, 9 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/session_management.rb b/actionpack/lib/action_controller/session_management.rb
index dd5001d328..a9989d8198 100644
--- a/actionpack/lib/action_controller/session_management.rb
+++ b/actionpack/lib/action_controller/session_management.rb
@@ -17,9 +17,15 @@ module ActionController #:nodoc:
cgi_options = ActionController::Base.session_options
options = cgi_options.symbolize_keys
options = DEFAULT_OPTIONS.merge(options)
- options[:path] = options.delete(:session_path)
- options[:key] = options.delete(:session_key)
- options[:httponly] = options.delete(:session_http_only)
+ if options.has_key?(:session_path)
+ options[:path] = options.delete(:session_path)
+ end
+ if options.has_key?(:session_key)
+ options[:key] = options.delete(:session_key)
+ end
+ if options.has_key?(:session_http_only)
+ options[:httponly] = options.delete(:session_http_only)
+ end
if store = ActionController::Base.session_store
store.new(app, options)