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.



22
23
24
25
26
27
28
29
# File 'lib/zorglub/session.rb', line 22

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

Instance Method Details

#[](key) ⇒ Object



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

def [] key
    load_data!
    super key
end

#[]=(key, value) ⇒ Object



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

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

#clearObject



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

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

#delete(key) ⇒ Object



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

def delete key
    load_data!
    super key
end

#empty?Boolean

Returns:

  • (Boolean)


89
90
91
92
# File 'lib/zorglub/session.rb', line 89

def empty?
    load_data!
    super
end

#exists?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/zorglub/session.rb', line 81

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

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

Returns:

  • (Boolean)


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

def has_key? key
    load_data!
    super key
end

#inspectObject



73
74
75
76
77
78
79
# File 'lib/zorglub/session.rb', line 73

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

#loaded?Boolean

Returns:

  • (Boolean)


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

def loaded?
    not @sid.nil?
end

#to_hashObject



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

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

#update(hash) ⇒ Object



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

def update hash
    load_data!
    super stringify_keys(hash)
end