Class: Reactor::Session
- Inherits:
-
Object
show all
- Includes:
- Observable
- Defined in:
- lib/reactor/session.rb,
lib/reactor/session/user.rb,
lib/reactor/session/observers.rb
Defined Under Namespace
Modules: Observers
Classes: State, User
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(state = State.new) ⇒ Session
Returns a new instance of Session.
21
22
23
|
# File 'lib/reactor/session.rb', line 21
def initialize(state=State.new)
self.initialize_and_notify(state)
end
|
Class Method Details
.for(user_name) ⇒ Object
37
38
39
|
# File 'lib/reactor/session.rb', line 37
def self.for(user_name)
self.new(State.new(user_name, nil))
end
|
Instance Method Details
#destroy ⇒ Object
47
48
49
|
# File 'lib/reactor/session.rb', line 47
def destroy
self.session_id = self.user_name = nil
end
|
#logged_in?(session_id) ⇒ Boolean
51
52
53
|
# File 'lib/reactor/session.rb', line 51
def logged_in?(session_id)
self.session_id.present? && self.user? && self.session_id == session_id
end
|
#login(session_id) ⇒ Object
41
42
43
44
45
|
# File 'lib/reactor/session.rb', line 41
def login(session_id)
if !logged_in?(session_id)
self.user_name = authenticate(session_id)
end
end
|
#marshal_dump ⇒ Object
69
70
71
|
# File 'lib/reactor/session.rb', line 69
def marshal_dump
self.state.serialize
end
|
#marshal_load(array) ⇒ Object
73
74
75
|
# File 'lib/reactor/session.rb', line 73
def marshal_load(array)
self.initialize_and_notify(State.deserialize(array))
end
|
#session_id ⇒ Object
29
30
31
|
# File 'lib/reactor/session.rb', line 29
def session_id
self.state.session_id
end
|
#user? ⇒ Boolean
55
56
57
|
# File 'lib/reactor/session.rb', line 55
def user?
self.user_name.present?
end
|
#user_name ⇒ Object
25
26
27
|
# File 'lib/reactor/session.rb', line 25
def user_name
self.state.user_name
end
|
#user_name=(new_user_name) ⇒ Object
63
64
65
66
67
|
# File 'lib/reactor/session.rb', line 63
def user_name=(new_user_name)
self.state.user_name = new_user_name
self.proper_notify_observers(new_user_name, true)
new_user_name
end
|