module AdminAuth::Model

Constants

EMAIL_REGEX
PASSWORD_MINIMUM

Public Class Methods

included(model) click to toggle source
# File lib/admin_auth/model.rb, line 6
def self.included(model)
  model.validates :email, format: { with: EMAIL_REGEX }
  model.validates :password, :password_confirmation, length: { minimum: PASSWORD_MINIMUM }
  model.validate :passwords_must_match
end

Public Instance Methods

correct_password?(password) click to toggle source
# File lib/admin_auth/model.rb, line 29
def correct_password?(password)
  password_encryptor.compare_passwords?(password, encrypted_password)
end
password() click to toggle source
# File lib/admin_auth/model.rb, line 12
def password
  @password
end
password=(password) click to toggle source
# File lib/admin_auth/model.rb, line 16
def password=(password)
  @password = password
  self.encrypted_password = password_encryptor.encrypt_password(password)
end
password_confirmation() click to toggle source
# File lib/admin_auth/model.rb, line 21
def password_confirmation
  @password_confirmation
end
password_confirmation=(password) click to toggle source
# File lib/admin_auth/model.rb, line 25
def password_confirmation=(password)
  @password_confirmation = password
end

Private Instance Methods

clear_passwords() click to toggle source
# File lib/admin_auth/model.rb, line 45
def clear_passwords
  @password = @password_confirmation = nil
end
password_encryptor() click to toggle source
# File lib/admin_auth/model.rb, line 49
def password_encryptor
  @password_encryptor ||= Encryptor.new
end
passwords_must_match() click to toggle source
# File lib/admin_auth/model.rb, line 35
def passwords_must_match
  unless @password == @password_confirmation
    error = 'must match'
    errors[:password] << error
    errors[:password_confirmation] << error
  end

  clear_passwords
end