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