Class: UserSession

Inherits:
ApplicationRecord
  • Object
show all
Defined in:
lib/generators/authkit/templates/app/models/user_session.rb

Instance Method Summary collapse

Instance Method Details

#access(request, tracking = true) ⇒ Object



38
39
40
41
42
43
# File 'lib/generators/authkit/templates/app/models/user_session.rb', line 38

def access(request, tracking=true)
  self.accessed_at = Time.now
  self.ip = request.remote_ip if tracking
  self.user_agent = request.user_agent if tracking
  save!
end

#active?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/generators/authkit/templates/app/models/user_session.rb', line 12

def active?
  !logged_out? && !revoked?
end

#logged_out?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/generators/authkit/templates/app/models/user_session.rb', line 16

def logged_out?
  logged_out_at.present?
end

#logoutObject



33
34
35
36
# File 'lib/generators/authkit/templates/app/models/user_session.rb', line 33

def logout
  self.logged_out_at = Time.now
  save!
end

#revoked?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/generators/authkit/templates/app/models/user_session.rb', line 20

def revoked?
  revoked_at.present?
end

#sudoObject



28
29
30
31
# File 'lib/generators/authkit/templates/app/models/user_session.rb', line 28

def sudo
  self.sudo_enabled_at = Time.now
  save!
end

#sudo?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/generators/authkit/templates/app/models/user_session.rb', line 24

def sudo?
  sudo_enabled_at.present? && sudo_enabled_at > 1.hour.ago
end