Class: Cuca::SessionPage

Inherits:
Object
  • Object
show all
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

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

#memoryObject

access to pagemem



55
56
57
# File 'lib/cuca/sessionpage.rb', line 55

def memory
  pagemem[pagekey]
end

#resetObject

delete all from current page memory



50
51
52
# File 'lib/cuca/sessionpage.rb', line 50

def reset
  pagemem[pagekey] = {}
end