find(env)
click to toggle source
def self.find(env)
env[ENV_SESSION_KEY]
end
new(store, env)
click to toggle source
def initialize(store, env)
@store = store
@env = env
@loaded = false
end
set(env, session)
click to toggle source
def self.set(env, session)
env[ENV_SESSION_KEY] = session
end
set_options(env, options)
click to toggle source
def self.set_options(env, options)
env[ENV_SESSION_OPTIONS_KEY] = options.dup
end
[](key)
click to toggle source
def [](key)
load_for_read!
@data[key.to_s]
end
[]=(key, value)
click to toggle source
def []=(key, value)
load_for_write!
@data[key.to_s] = value
end
clear()
click to toggle source
def clear
load_for_write!
@data.clear
end
delete(key)
click to toggle source
def delete(key)
load_for_write!
@data.delete(key.to_s)
end
destroy()
click to toggle source
def destroy
clear
@id = @store.send(:destroy_session, @env, id, options)
end
each(&block)
click to toggle source
def each(&block)
load_for_read!
@data.each(&block)
end
empty?()
click to toggle source
def empty?
load_for_read!
@data.empty?
end
exists?()
click to toggle source
def exists?
return @exists if instance_variable_defined?(:@exists)
@data = {}
@exists = @store.send(:session_exists?, @env)
end
fetch(key)
click to toggle source
has_key?(key)
click to toggle source
def has_key?(key)
load_for_read!
@data.has_key?(key.to_s)
end
id()
click to toggle source
def id
return @id if @loaded or instance_variable_defined?(:@id)
@id = @store.send(:extract_session_id, @env)
end
include?(key)
click to toggle source
inspect()
click to toggle source
def inspect
if loaded?
@data.inspect
else
"#<#{self.class}:0x#{self.object_id.to_s(16)} not yet loaded>"
end
end
key?(key)
click to toggle source
keys()
click to toggle source
loaded?()
click to toggle source
merge!(hash)
click to toggle source
options()
click to toggle source
def options
@env[ENV_SESSION_OPTIONS_KEY]
end
replace(hash)
click to toggle source
def replace(hash)
load_for_write!
@data.replace(stringify_keys(hash))
end
store(key, value)
click to toggle source
to_hash()
click to toggle source
def to_hash
load_for_read!
@data.dup
end
update(hash)
click to toggle source
def update(hash)
load_for_write!
@data.update(stringify_keys(hash))
end
values()
click to toggle source
def values
@data.values
end