Class: Cuca::SessionPage
- Inherits:
-
Object
- Object
- Cuca::SessionPage
- Defined in:
- lib/cuca/sessionpage.rb
Overview
A session page (access via session.page) is memory that is only valid for the current action. Query and Request paramenters are automatically available in this container and remain available if removed due to a page refresh or similar.
If you leave the page, they are NOT erased anymore (this used to be cuca behavior <= 0.7). They stay valid until EXPIRE_TIME_HOURS (default 4 hours).
see Cuca::Session
Constant Summary collapse
- LAKEY =
:session_page_last_access
- EXPIRE_TIME_HOURS =
4
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#delete(key) ⇒ Object
remove a variable from page memory.
-
#initialize(session) ⇒ SessionPage
constructor
A new instance of SessionPage.
-
#memory ⇒ Object
access to pagemem.
-
#reset ⇒ Object
delete all from current page memory.
Constructor Details
#initialize(session) ⇒ SessionPage
Returns a new instance of SessionPage.
27 28 29 30 31 32 33 34 |
# File 'lib/cuca/sessionpage.rb', line 27 def initialize(session) @ses = session @ses[:SessionPage] ||= {} pagemem[pagekey] ||= {} pagemem[pagekey][LAKEY] = Time.now session.cgi.parameters.each_pair { |k,v| self[k] = v.dup if v.kind_of?(String) } expire end |
Instance Method Details
#[](key) ⇒ Object
36 37 38 |
# File 'lib/cuca/sessionpage.rb', line 36 def [](key) pagemem[pagekey][key] end |
#[]=(key, value) ⇒ Object
40 41 42 |
# File 'lib/cuca/sessionpage.rb', line 40 def []=(key,value) pagemem[pagekey][key] = value end |
#delete(key) ⇒ Object
remove a variable from page memory
45 46 47 |
# File 'lib/cuca/sessionpage.rb', line 45 def delete(key) pagemem[pagekey].delete(key) end |
#memory ⇒ Object
access to pagemem
55 56 57 |
# File 'lib/cuca/sessionpage.rb', line 55 def memory pagemem[pagekey] end |
#reset ⇒ Object
delete all from current page memory
50 51 52 |
# File 'lib/cuca/sessionpage.rb', line 50 def reset pagemem[pagekey] = {} end |