class UserSession
Public Instance Methods
access(request, tracking=true)
click to toggle source
# 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?()
click to toggle source
# File lib/generators/authkit/templates/app/models/user_session.rb, line 12 def active? !logged_out? && !revoked? end
logged_out?()
click to toggle source
# File lib/generators/authkit/templates/app/models/user_session.rb, line 16 def logged_out? logged_out_at.present? end
logout()
click to toggle source
# File lib/generators/authkit/templates/app/models/user_session.rb, line 33 def logout self.logged_out_at = Time.now save! end
revoked?()
click to toggle source
# File lib/generators/authkit/templates/app/models/user_session.rb, line 20 def revoked? revoked_at.present? end
sudo()
click to toggle source
# File lib/generators/authkit/templates/app/models/user_session.rb, line 28 def sudo self.sudo_enabled_at = Time.now save! end
sudo?()
click to toggle source
# 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
Private Instance Methods
set_remember_token()
click to toggle source
The tokens created by this method have unique indexes but collisions are very unlikely (1/64^32). Because of this there shouldn't be a conflict. If one occurs the ActiveRecord::StatementInvalid or ActiveRecord::RecordNotUnique exeception should bubble up.
# File lib/generators/authkit/templates/app/models/user_session.rb, line 51 def set_remember_token self.remember_token = SecureRandom.urlsafe_base64(32) if self.remember_token.blank? end