module Devise::Models::ParanoidVerification
PasswordExpirable
takes care of change password after
Public Instance Methods
generate_paranoid_code()
click to toggle source
# 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?()
click to toggle source
# File lib/devise_security_extension/models/paranoid_verification.rb, line 9 def need_paranoid_verification? !!paranoid_verification_code end
paranoid_attempts_remaining()
click to toggle source
# 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)
click to toggle source
# 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