class User

Attributes

password[R]

Public Class Methods

find_by_credentials(username, password) click to toggle source
# File lib/templates/user.rb, line 13
def self.find_by_credentials(username, password)
  user = User.find_by(username: username)
  return nil if user.nil?
  if user.is_password?(password)
    return user
  else
    return nil
  end
end
token() click to toggle source
# File lib/templates/user.rb, line 9
def self.token
  SecureRandom::urlsafe_base64(16)
end

Public Instance Methods

digest(string) click to toggle source
# File lib/templates/user.rb, line 30
def digest(string)
  string_digest = BCrypt::Password.create(string)
end
is_password?(password) click to toggle source
# File lib/templates/user.rb, line 34
def is_password?(password)
  BCrypt::Password.new(self.password_digest).is_password?(password)
end
password=(password) click to toggle source
# File lib/templates/user.rb, line 25
def password=(password)
  @password = password
  self.password_digest = digest(password)
end
reset_session_token!() click to toggle source
# File lib/templates/user.rb, line 38
def reset_session_token!
  self.session_token = User.token
  self.save
  self.session_token
end

Private Instance Methods

ensure_session_token() click to toggle source
# File lib/templates/user.rb, line 46
def ensure_session_token
  self.session_token ||= User.token
end