Class: Mentawai::Core::Session
- Inherits:
-
Object
- Object
- Mentawai::Core::Session
- Defined in:
- lib/mentawai/core/session.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#response ⇒ Object
readonly
Returns the value of attribute response.
Instance Method Summary collapse
- #get(key) ⇒ Object (also: #[])
- #hasKey?(key) ⇒ Boolean (also: #has_key?, #key?)
-
#initialize(req, res) ⇒ Session
constructor
A new instance of Session.
- #keys ⇒ Object
- #put(key, value) ⇒ Object (also: #[]=)
- #remove(key) ⇒ Object (also: #delete)
- #reset ⇒ Object
- #sid ⇒ Object
- #values ⇒ Object (also: #each)
Constructor Details
#initialize(req, res) ⇒ Session
Returns a new instance of Session.
8 9 10 11 12 13 |
# File 'lib/mentawai/core/session.rb', line 8 def initialize(req, res) @request = req @response = res @session = req.env['rack.session'] @sdat = @session.instance_variable_get '@dat' end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
6 7 8 |
# File 'lib/mentawai/core/session.rb', line 6 def request @request end |
#response ⇒ Object (readonly)
Returns the value of attribute response.
6 7 8 |
# File 'lib/mentawai/core/session.rb', line 6 def response @response end |
Instance Method Details
#get(key) ⇒ Object Also known as: []
19 20 21 |
# File 'lib/mentawai/core/session.rb', line 19 def get(key) @session[key] end |
#hasKey?(key) ⇒ Boolean Also known as: has_key?, key?
42 43 44 |
# File 'lib/mentawai/core/session.rb', line 42 def hasKey?(key) @session.has_key?(key) end |
#keys ⇒ Object
49 50 51 52 53 |
# File 'lib/mentawai/core/session.rb', line 49 def keys @session.each do |k,v| yield k end end |
#put(key, value) ⇒ Object Also known as: []=
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mentawai/core/session.rb', line 23 def put(key, value) # Are we replacing an object? if @session.key?(key) then removed = @session[key] if not value.equal?(removed) then removed.removed_from_session(key) if removed.respond_to?(:removed_from_session) end end @session[key] = value value.added_to_session(key) if value.respond_to?(:added_to_session) end |
#remove(key) ⇒ Object Also known as: delete
37 38 39 40 |
# File 'lib/mentawai/core/session.rb', line 37 def remove(key) removed = @session.delete(key) removed.removed_from_session(key) if removed.respond_to?(:removed_from_session) end |
#reset ⇒ Object
61 62 63 |
# File 'lib/mentawai/core/session.rb', line 61 def reset @sdat[1] = 0 # expire it! end |
#sid ⇒ Object
15 16 17 |
# File 'lib/mentawai/core/session.rb', line 15 def sid @sdat[0] end |
#values ⇒ Object Also known as: each
55 56 57 58 59 |
# File 'lib/mentawai/core/session.rb', line 55 def values @session.each do |k,v| yield k,v end end |