module Sequel::Plugins::SequelAuth::InstanceMethods

Attributes

password[R]
password_confirmation[RW]

Public Instance Methods

authenticate(unencrypted) click to toggle source
# File lib/sequel_auth.rb, line 55
def authenticate(unencrypted)
  if model.provider.matches?(self.send(model.digest_column),unencrypted)
    if model.login_count_column || model.last_login_at_column
      #Update login count
      self.send("#{model.login_count_column}=",self.send(model.login_count_column)+1 ) if model.login_count_column
      self.send("#{model.last_login_at_column}=",Time.now ) if model.last_login_at_column
      self.save
    end
    self
  else
    if model.failed_login_count_column
      #Update failed login count
      self.send("#{model.failed_login_count_column}=",self.send(model.failed_login_count_column)+1 )
      self.save            
    end
  end
end
password=(unencrypted) click to toggle source
# File lib/sequel_auth.rb, line 50
def password=(unencrypted)
  @password = unencrypted
  self.send "#{model.digest_column}=",model.provider.encrypt(unencrypted)
end
reset_access_token() click to toggle source
# File lib/sequel_auth.rb, line 73
def reset_access_token
  if model.access_token_column
    self.update(model.access_token_column=>SecureRandom.urlsafe_base64(16))
  end
end
validate() click to toggle source
Calls superclass method
# File lib/sequel_auth.rb, line 79
def validate
  super
  
  if model.include_validations
    errors.add :password, 'is not present'              if password.nil? && new?
    errors.add :password, 'doesn\'t match confirmation' if password != password_confirmation
  end
end