bookstore/app/models/user.rb
2021-03-22 02:25:17 +01:00

17 lines
552 B
Ruby

class User < ApplicationRecord
has_and_belongs_to_many :books
has_secure_password
has_secure_password :recovery_password, validations: false
enum role: [:customer, :admin], _default: :customer
enum status: [:ready, :blocked], _default: :ready
validates :email, presence: true, uniqueness: true, format: { with: URI::MailTo::EMAIL_REGEXP }
validates :role, presence: true
validates :status, presence: true
validates :password, {
presence: true,
length: { minimum: 8 },
if: lambda{ new_record? || !password.nil? }
}
end