Class: Spider::MemorySession
- Inherits:
-
Session
show all
- Defined in:
- lib/spiderfw/controller/session/memory_session.rb
Instance Attribute Summary
Attributes inherited from Session
#sid
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Session
#[], #[]=, check_purge, #clear_empty_hashes!, #delete, #flash, #generate_sid, get, #initialize, #persist, #transient
Class Method Details
27
28
29
30
31
32
|
# File 'lib/spiderfw/controller/session/memory_session.rb', line 27
def [](sid)
check_purge
@mutex.synchronize{
@sessions[sid] ? @sessions[sid][:data] : nil
}
end
|
.[]=(sid, data) ⇒ Object
18
19
20
21
22
23
24
25
|
# File 'lib/spiderfw/controller/session/memory_session.rb', line 18
def []=(sid, data)
@mutex.synchronize {
@sessions[sid] = {
:data => data,
:mtime => Time.now
}
}
end
|
.delete(sid) ⇒ Object
44
45
46
47
48
|
# File 'lib/spiderfw/controller/session/memory_session.rb', line 44
def delete(sid)
@mutex.synchronize{
@sessions.delete(sid)
}
end
|
.purge(life) ⇒ Object
34
35
36
37
38
39
40
41
42
|
# File 'lib/spiderfw/controller/session/memory_session.rb', line 34
def purge(life)
@mutex.synchronize{
@sessions.each do |sid, session|
if (session[:mtime] + life < Time.now)
@sessions.delete(sid)
end
end
}
end
|
10
11
12
13
14
15
16
|
# File 'lib/spiderfw/controller/session/memory_session.rb', line 10
def setup
unless @sessions
@mutex ||= Mutex.new
@sessions ||= Hash.new
end
super
end
|
Instance Method Details
53
54
55
|
# File 'lib/spiderfw/controller/session/memory_session.rb', line 53
def restore
@data = self.class[@sid]
end
|