Class: QuoVadis::Account
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- QuoVadis::Account
- Defined in:
- app/models/quo_vadis/account.rb
Constant Summary collapse
- MAX_NUMBER_OF_RECOVERY_CODES =
5
Instance Method Summary collapse
- #confirmed! ⇒ Object
- #confirmed? ⇒ Boolean
-
#generate_recovery_codes ⇒ Object
Returns an array of the recovery codes' codes.
- #has_two_factors? ⇒ Boolean
- #revoke ⇒ Object
Instance Method Details
#confirmed! ⇒ Object
25 26 27 |
# File 'app/models/quo_vadis/account.rb', line 25 def confirmed! touch :confirmed_at end |
#confirmed? ⇒ Boolean
21 22 23 |
# File 'app/models/quo_vadis/account.rb', line 21 def confirmed? confirmed_at.present? end |
#generate_recovery_codes ⇒ Object
Returns an array of the recovery codes' codes.
34 35 36 37 |
# File 'app/models/quo_vadis/account.rb', line 34 def generate_recovery_codes recovery_codes.delete_all Array.new(MAX_NUMBER_OF_RECOVERY_CODES) { recovery_codes.create }.map &:code end |
#has_two_factors? ⇒ Boolean
29 30 31 |
# File 'app/models/quo_vadis/account.rb', line 29 def has_two_factors? password.present? && totp.present? end |
#revoke ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/models/quo_vadis/account.rb', line 39 def revoke password&.destroy totp&.destroy recovery_codes.destroy_all sessions.destroy_all Log.create( account: self, action: Log::REVOKE, ip: (CurrentRequestDetails.ip || '') ) end |