类 CGI::Session::MemoryStore

内存中会话存储类。

将会话存储实现为全局内存哈希。 Session 数据仅在 Ruby 解释器实例存在时持久存在。

公共类方法

new(session, option=nil) 点击切换源代码

创建一个新的 MemoryStore 实例。

session 是此实例关联的会话。 option 是初始化选项列表。目前没有被识别。

# File lib/cgi/session.rb, line 488
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() 点击切换源代码

关闭会话存储。

一个无操作。

# File lib/cgi/session.rb, line 515
def close
  # don't need to close
end
delete() 点击切换源代码

删除会话状态。

# File lib/cgi/session.rb, line 520
def delete
  GLOBAL_HASH_TABLE.delete(@session_id)
end
restore() 点击切换源代码

恢复会话状态。

将会话数据作为哈希返回。

# File lib/cgi/session.rb, line 501
def restore
  GLOBAL_HASH_TABLE[@session_id]
end
update() 点击切换源代码

更新会话状态。

一个无操作。

# File lib/cgi/session.rb, line 508
def update
  # don't need to update; hash is shared
end