Class: Kiss::Login
Instance Method Summary
collapse
Methods inherited from Hash
#id, #method_missing, #prepend_html, #to_query_string, #type
Constructor Details
#initialize(session) ⇒ Login
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/kiss/login.rb', line 3
def initialize(session)
@_session = session
@_session['login'] ||= {}
if expired?
@_session['login'] = {}
end
@_persist_data = @_session['login']
self.merge!(@_persist_data)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Hash
Instance Method Details
40
41
42
43
|
# File 'lib/kiss/login.rb', line 40
def clear
@_session['login'] = {}
super()
end
|
#expired? ⇒ Boolean
17
18
19
|
# File 'lib/kiss/login.rb', line 17
def expired?
@_session['login']['expires_at'] && session['login']['expires_at'] < Time.now
end
|
#expires_at(time) ⇒ Object
26
27
28
|
# File 'lib/kiss/login.rb', line 26
def expires_at(time)
persist(:expires_at => time)
end
|
#expires_at=(seconds) ⇒ Object
29
30
31
|
# File 'lib/kiss/login.rb', line 29
def expires_at=(seconds)
expires_at(seconds)
end
|
#expires_in(seconds) ⇒ Object
33
34
35
|
# File 'lib/kiss/login.rb', line 33
def expires_in(seconds)
persist(:expires_at => Time.now + seconds)
end
|
#expires_in=(seconds) ⇒ Object
36
37
38
|
# File 'lib/kiss/login.rb', line 36
def expires_in=(seconds)
expires_in(seconds)
end
|
#persist(data = {}) ⇒ Object
21
22
23
24
|
# File 'lib/kiss/login.rb', line 21
def persist(data = {})
@_persist_data.merge!(data)
self.merge!(data)
end
|