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