module CoreModels::Models::User

Public Instance Methods

authenticate_user(user_name, password) click to toggle source
# File lib/core_models/models/user.rb, line 31
def authenticate_user(user_name, password)
  user = self.find_by_user_name(user_name)
  if(user && (user.password == BCrypt::Engine.hash_secret(password, user.salt)))
    user
  else
    nil
  end
end
encrypt_password() click to toggle source
# File lib/core_models/models/user.rb, line 41
def encrypt_password
  if password.present?
    self.salt = BCrypt::Engine.generate_salt
    self.password = BCrypt::Engine.hash_secret(password, salt)
  end
end
send_password_reset() click to toggle source
# File lib/core_models/models/user.rb, line 48
def send_password_reset
  generate_token(:password_reset_token)
  self.password_reset_timestamp = Time.zone.now
  save!
  UserMailer.password_reset(self).deliver
end

Protected Instance Methods

generate_token(column) click to toggle source
# File lib/core_models/models/user.rb, line 56
def generate_token(column)
  begin
    self[column] = SecureRandom.urlsafe_base64
  end while self.class.exists?(column => self[column])
end