Module: AdminAuth::Model

Defined in:
lib/admin_auth/model.rb

Constant Summary collapse

EMAIL_REGEX =
/\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/
PASSWORD_MINIMUM =
8

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(model) ⇒ Object



6
7
8
9
10
# 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

Instance Method Details

#correct_password?(password) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/admin_auth/model.rb', line 29

def correct_password?(password)
  password_encryptor.compare_passwords?(password, encrypted_password)
end

#passwordObject



12
13
14
# File 'lib/admin_auth/model.rb', line 12

def password
  @password
end

#password=(password) ⇒ Object



16
17
18
19
# File 'lib/admin_auth/model.rb', line 16

def password=(password)
  @password = password
  self.encrypted_password = password_encryptor.encrypt_password(password)
end

#password_confirmationObject



21
22
23
# File 'lib/admin_auth/model.rb', line 21

def password_confirmation
  @password_confirmation
end

#password_confirmation=(password) ⇒ Object



25
26
27
# File 'lib/admin_auth/model.rb', line 25

def password_confirmation=(password)
  @password_confirmation = password
end