From 43ac42c46a462e1453b1b97da00e11bff7bba55d Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 15 Dec 2008 19:25:31 -0600 Subject: Clear empty nil values in session hash before saving --- .../lib/action_controller/session/cookie_store.rb | 25 +++------------------- 1 file changed, 3 insertions(+), 22 deletions(-) (limited to 'actionpack/lib/action_controller/session/cookie_store.rb') diff --git a/actionpack/lib/action_controller/session/cookie_store.rb b/actionpack/lib/action_controller/session/cookie_store.rb index f13c9290c0..f4089bfa8b 100644 --- a/actionpack/lib/action_controller/session/cookie_store.rb +++ b/actionpack/lib/action_controller/session/cookie_store.rb @@ -74,30 +74,11 @@ module ActionController freeze end - class SessionHash < Hash - def initialize(middleware, env) - @middleware = middleware - @env = env - @loaded = false - end - - def [](key) - load! unless @loaded - super - end - - def []=(key, value) - load! unless @loaded - super - end - - def to_hash - {}.replace(self) - end - + class SessionHash < AbstractStore::SessionHash private def load! - replace(@middleware.send(:load_session, @env)) + session = @by.send(:load_session, @env) + replace(session) @loaded = true end end -- cgit v1.2.3