module TokenAuthenticateMe::Concerns::Models::Passwordable
Public Instance Methods
attempting_to_change_password?()
click to toggle source
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 78 def attempting_to_change_password? (!password.blank? || !password_confirmation.blank?) && password_digest_changed? end
create_reset_token!()
click to toggle source
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 38 def create_reset_token! # rubocop:disable Lint/Loop begin self.reset_password_token = SecureRandom.hex end while self.class.exists?(reset_password_token: reset_password_token) self.reset_password_token_exp = password_expiration_hours.hours.from_now save! end
current_password_correct()
click to toggle source
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 56 def current_password_correct user_with_old_password = self.class.find_by_id(id) errors.add(:current_password, 'is required to change email and/or password') if current_password.blank? # rubocop:disable Metrics/LineLength errors.add(:current_password, 'is incorrect') unless user_with_old_password.authenticate(current_password) end
current_password_required?()
click to toggle source
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 62 def current_password_required? !new_record? && (email_changed? || attempting_to_change_password?) && !password_resetting? end
ignore_password_length_validations?()
click to toggle source
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 70 def ignore_password_length_validations? false end
password=(unencrypted_password)
click to toggle source
Calls superclass method
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 52 def password=(unencrypted_password) super(unencrypted_password) unless unencrypted_password.blank? && !password_required? end
password_expiration_hours()
click to toggle source
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 48 def password_expiration_hours 8 end
password_required?()
click to toggle source
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 74 def password_required? attempting_to_change_password? || new_record? end
password_resetting?()
click to toggle source
# File lib/token_authenticate_me/concerns/models/passwordable.rb, line 66 def password_resetting? reset_password_token_changed? && reset_password_token_exp_changed? end