提交 43ac42c4 编写于 作者: J Joshua Peek

Clear empty nil values in session hash before saving

上级 ed708307
......@@ -32,7 +32,9 @@ def []=(key, value)
end
def to_hash
{}.replace(self)
h = {}.replace(self)
h.delete_if { |k,v| v.nil? }
h
end
private
......
......@@ -74,30 +74,11 @@ def initialize(app, options = {})
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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册