Class: Jobshop::SessionActivation
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Jobshop::SessionActivation
- Defined in:
- app/models/jobshop/session_activation.rb
Constant Summary collapse
- LIMIT =
20
Class Method Summary collapse
- .activate(token) ⇒ Object
- .active?(token) ⇒ Boolean
- .deactivate(token) ⇒ Object
- .enforce_active_session_quota ⇒ Object
- .exclusive(token) ⇒ Object
Class Method Details
.activate(token) ⇒ Object
10 11 12 13 14 |
# File 'app/models/jobshop/session_activation.rb', line 10 def activate(token) activation = create!(activation_token: token) enforce_active_session_quota activation end |
.active?(token) ⇒ Boolean
6 7 8 |
# File 'app/models/jobshop/session_activation.rb', line 6 def active?(token) token && where(activation_token: token).exists? end |
.deactivate(token) ⇒ Object
16 17 18 19 |
# File 'app/models/jobshop/session_activation.rb', line 16 def deactivate(token) return unless token where(activation_token: token).delete_all end |
.enforce_active_session_quota ⇒ Object
21 22 23 |
# File 'app/models/jobshop/session_activation.rb', line 21 def enforce_active_session_quota order("created_at desc").offset(LIMIT).destroy_all end |
.exclusive(token) ⇒ Object
25 26 27 |
# File 'app/models/jobshop/session_activation.rb', line 25 def exclusive(token) where("activation_token != ?", id).delete_all end |