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