diff --git a/RAILS_VERSION b/RAILS_VERSION index bdcd28d30848987e5971d92e4789ef3ea04301dc..549c40d10558f748563ef44c325d163f7f4bdc4e 100644 --- a/RAILS_VERSION +++ b/RAILS_VERSION @@ -1 +1 @@ -2.3.14.github45 +2.3.14.github46 diff --git a/actionpack/lib/action_controller/session/abstract_store.rb b/actionpack/lib/action_controller/session/abstract_store.rb index d29b57528b7ac885668d5e09c08d375f6e563d03..d3b0bd2648a60792674073c9a8c3f59298375f7a 100644 --- a/actionpack/lib/action_controller/session/abstract_store.rb +++ b/actionpack/lib/action_controller/session/abstract_store.rb @@ -55,7 +55,7 @@ def session_id def [](key) load_for_read! - super(key.to_s) || super(key) + fetch(key.to_s, super(key)) end def has_key?(key) @@ -82,14 +82,19 @@ def to_hash def update(hash) load_for_write! - super + super(hash.stringify_keys) end def delete(key) load_for_write! - value = super(key) - string_value = super(key.to_s) - string_value || value + if has_key? key + value = self[key] + super(key) + super(key.to_s) + value + else + super + end end def data