Sha256: 7e3257865fcebe230f6f04cdc032748f5b51cb26b7909cb462d3a5ae5b29e0c8

Contents?: true

Size: 568 Bytes

Versions: 2

Compression:

Stored size: 568 Bytes

Contents

module Vapid
  module Models
    # User model
    class User < ActiveRecord::Base
      has_secure_password

      validates :email,
        presence: true,
        format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i },
        uniqueness: { case_sensitive: false, message: "is already taken" }
      validates :password, 
        length: { minimum: 6 }, 
        allow_nil: false

      def self.authenticate(email, password)
        user = find_by("lower(email) = ?", email.downcase)
        user && user.authenticate(password)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vapid-0.1.3 lib/vapid/models/user.rb
vapid-0.1.2 lib/vapid/models/user.rb