Class: Jobshop::SessionActivation

Inherits:
ApplicationRecord show all
Defined in:
app/models/jobshop/session_activation.rb

Constant Summary collapse

LIMIT =
20

Class Method Summary collapse

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

Returns:

  • (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_quotaObject



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