Module: Devise::Models::ParanoidVerification
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/devise_security_extension/models/paranoid_verification.rb
Overview
PasswordExpirable takes care of change password after
Instance Method Summary collapse
- #generate_paranoid_code ⇒ Object
- #need_paranoid_verification? ⇒ Boolean
- #paranoid_attempts_remaining ⇒ Object
- #verify_code(code) ⇒ Object
Instance Method Details
#generate_paranoid_code ⇒ Object
30 31 32 |
# File 'lib/devise_security_extension/models/paranoid_verification.rb', line 30 def generate_paranoid_code update_without_password paranoid_verification_code: Devise.verification_code_generator.call(), paranoid_verification_attempt: 0 end |
#need_paranoid_verification? ⇒ Boolean
9 10 11 |
# File 'lib/devise_security_extension/models/paranoid_verification.rb', line 9 def need_paranoid_verification? !!paranoid_verification_code end |
#paranoid_attempts_remaining ⇒ Object
26 27 28 |
# File 'lib/devise_security_extension/models/paranoid_verification.rb', line 26 def paranoid_attempts_remaining Devise.paranoid_code_regenerate_after_attempt - paranoid_verification_attempt end |
#verify_code(code) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/devise_security_extension/models/paranoid_verification.rb', line 13 def verify_code(code) attempt = paranoid_verification_attempt if (attempt += 1) >= Devise.paranoid_code_regenerate_after_attempt generate_paranoid_code elsif code == paranoid_verification_code attempt = 0 update_without_password paranoid_verification_code: nil, paranoid_verified_at: Time.now, paranoid_verification_attempt: attempt else update_without_password paranoid_verification_attempt: attempt end end |