Sha256: 9360e963949665e6c8b643a2845a449dec115ab57b1e38b58f67b7509f0f057f

Contents?: true

Size: 594 Bytes

Versions: 6

Compression:

Stored size: 594 Bytes

Contents

class User < ActiveRecord::Base
  has_secure_password
  
  validates :email, presence: true, uniqueness: true, format: /@/
  
  before_create { generate_token(:auth_token) }
  
  def self.authenticate(email, password)
    user = find_by email: email
    user if user && user.authenticate(password)
  end
    
  def generate_token(column)
    begin
      self[column] = SecureRandom.urlsafe_base64
    end while User.exists?(column => self[column])
  end

  def prepare_password_reset
    generate_token(:password_reset_token)
    self.password_reset_sent_at = Time.zone.now
    save!
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
authpro-1.1.0 test/rails/dummy/app/models/user.rb
authpro-1.0.1 test/rails/dummy/app/models/user.rb
authpro-1.0.0 test/rails/dummy/app/models/user.rb
authpro-0.9.3 test/rails/dummy/app/models/user.rb
authpro-0.9.2 test/rails/dummy/app/models/user.rb
authpro-0.9.1 test/rails/dummy/app/models/user.rb