class Gollum::Auth::User
Attributes
email[RW]
name[RW]
password_digest[RW]
username[RW]
Public Class Methods
all()
click to toggle source
# File lib/gollum/auth/user.rb, line 25 def all @all ||= [] end
delete_all()
click to toggle source
# File lib/gollum/auth/user.rb, line 29 def delete_all @all = [] end
find(username)
click to toggle source
# File lib/gollum/auth/user.rb, line 21 def find(username) all.select { |u| u.username == username }.first end
find_by_credentials(credentials)
click to toggle source
# File lib/gollum/auth/user.rb, line 15 def find_by_credentials(credentials) username, password = credentials user = find(username) user if user && user.valid_password?(password) end
Public Instance Methods
password=(password)
click to toggle source
# File lib/gollum/auth/user.rb, line 46 def password=(password) self.password_digest = build_digest(password.to_s) if password end
save()
click to toggle source
# File lib/gollum/auth/user.rb, line 38 def save valid? ? (self.class.all << self; true) : false end
save!()
click to toggle source
# File lib/gollum/auth/user.rb, line 34 def save! save ? self : raise(InvalidUserError, error_message) end
valid_password?(password)
click to toggle source
# File lib/gollum/auth/user.rb, line 42 def valid_password?(password) Rack::Utils.secure_compare(password_digest, build_digest(password)) end
Private Instance Methods
build_digest(password)
click to toggle source
# File lib/gollum/auth/user.rb, line 52 def build_digest(password) Digest::SHA256.hexdigest(password) end
error_message()
click to toggle source
# File lib/gollum/auth/user.rb, line 56 def error_message errors.full_messages.join(', ') end