Class: Zorglub::SessionHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/zorglub/session.rb

Instance Method Summary collapse

Constructor Details

#initialize(req, resp, sessions, options) ⇒ SessionHash

Returns a new instance of SessionHash.



17
18
19
20
21
22
23
24
# File 'lib/zorglub/session.rb', line 17

def initialize(req, resp, sessions, options)
  @request = req
  @response = resp
  @sessions = sessions
  @sid = nil
  @options = options
  super()
end

Instance Method Details

#[](key) ⇒ Object



26
27
28
29
# File 'lib/zorglub/session.rb', line 26

def [](key)
  load_data!
  super key
end

#[]=(key, value) ⇒ Object



37
38
39
40
# File 'lib/zorglub/session.rb', line 37

def []=(key, value)
  load_data!
  super key, value
end

#clearObject



42
43
44
45
46
47
48
# File 'lib/zorglub/session.rb', line 42

def clear
  load_data!
  # @response.delete_cookie @options[:key]
  # @sessions.delete @sid
  # @sid = nil
  super
end

#delete(key) ⇒ Object



62
63
64
65
# File 'lib/zorglub/session.rb', line 62

def delete(key)
  load_data!
  super key
end

#empty?Boolean

Returns:

  • (Boolean)


83
84
85
86
# File 'lib/zorglub/session.rb', line 83

def empty?
  load_data!
  super
end

#exists?Boolean

Returns:

  • (Boolean)


75
76
77
# File 'lib/zorglub/session.rb', line 75

def exists?
  loaded? ? @sessions.key?(@sid) : false
end

#inspectObject



67
68
69
70
71
72
73
# File 'lib/zorglub/session.rb', line 67

def inspect
  if loaded?
    super
  else
    "#<#{self.class}:0x#{object_id.to_s(16)} not yet loaded>"
  end
end

#key?(key) ⇒ Boolean Also known as: include?

Returns:

  • (Boolean)


31
32
33
34
# File 'lib/zorglub/session.rb', line 31

def key?(key)
  load_data!
  super key
end

#loaded?Boolean

Returns:

  • (Boolean)


79
80
81
# File 'lib/zorglub/session.rb', line 79

def loaded?
  !@sid.nil?
end

#to_hashObject



50
51
52
53
54
55
# File 'lib/zorglub/session.rb', line 50

def to_hash
  load_data!
  h = {}.replace(self)
  h.delete_if { |_k, v| v.nil? }
  h
end

#update(hash) ⇒ Object



57
58
59
60
# File 'lib/zorglub/session.rb', line 57

def update(hash)
  load_data!
  super stringify_keys(hash)
end