Class: PUNK::Session
- Inherits:
-
Model
- Object
- Model
- PUNK::Session
show all
- Defined in:
- lib/punk/models/session.rb
Instance Method Summary
collapse
Methods inherited from Model
#inspect, sample, sample_dataset, symbolize
Methods included from Loggable
#exception, #logger, #profile_debug, #profile_info, #profile_trace
Instance Method Details
#current? ⇒ Boolean
72
73
74
|
# File 'lib/punk/models/session.rb', line 72
def current?
!timeout?
end
|
#erase ⇒ Object
81
82
83
|
# File 'lib/punk/models/session.rb', line 81
def erase
update(slug: nil, salt: nil, hash: nil)
end
|
#increment_attempts ⇒ Object
85
86
87
|
# File 'lib/punk/models/session.rb', line 85
def increment_attempts
update(attempt_count: attempt_count + 1)
end
|
#timeout? ⇒ Boolean
76
77
78
79
|
# File 'lib/punk/models/session.rb', line 76
def timeout?
timeout! if (created? || pending?) && created_at < 5.minutes.ago || active? && (updated_at < 1.month.ago || created_at < 1.year.ago)
expired?
end
|
#validate ⇒ Object
65
66
67
68
69
70
|
# File 'lib/punk/models/session.rb', line 65
def validate
validates_presence :identity
validates_includes [:created, :pending, :active, :expired, :deleted], :state
validates_integer :attempt_count
validates_includes [0, 1, 2, 3], :attempt_count
end
|