# frozen_string_literal: true # == Schema Information # # Table name: login_activities # # id :bigint(8) not null, primary key # user_id :bigint(8) not null # authentication_method :string # provider :string # success :boolean # failure_reason :string # ip :inet # user_agent :string # created_at :datetime # class LoginActivity < ApplicationRecord enum authentication_method: { password: 'password', otp: 'otp', webauthn: 'webauthn', sign_in_token: 'sign_in_token', omniauth: 'omniauth' } belongs_to :user validates :authentication_method, inclusion: { in: authentication_methods.keys } def detection @detection ||= Browser.new(user_agent) end def browser detection.id end def platform detection.platform.id end end