CGI::Session::MemoryStore
class CGI::Session::MemoryStore
Parent:Object
内存中会话存储类。
将会话存储实现为全局内存哈希。会话数据只会在Ruby解释器实例中一直存在。
公共类方法
new(session, option=nil) 显示源
创建一个新的MemoryStore实例。
session
是这个实例关联的会话。option
是初始化选项的列表。目前没有人认出。
# File lib/cgi/session.rb, line 459
def initialize(session, option=nil)
@session_id = session.session_id
unless GLOBAL_HASH_TABLE.key?(@session_id)
unless session.new_session
raise CGI::Session::NoSession, "uninitialized session"
end
GLOBAL_HASH_TABLE[@session_id] = {}
end
end
公共实例方法
close() 显示源
关闭会话存储。
A no-op.
# File lib/cgi/session.rb, line 486
def close
# don't need to close
end
delete() 显示源
删除会话状态。
# File lib/cgi/session.rb, line 491
def delete
GLOBAL_HASH_TABLE.delete(@session_id)
end
restore() 显示源
恢复会话状态。
Returns session data as a hash.
# File lib/cgi/session.rb, line 472
def restore
GLOBAL_HASH_TABLE[@session_id]
end
update() 显示源
更新会话状态。
A no-op.
# File lib/cgi/session.rb, line 479
def update
# don't need to update; hash is shared
end