Files
old-zsterminator/app/models/user.rb
2025-08-19 07:24:18 +02:00

24 lines
736 B
Ruby

class User < ApplicationRecord
has_secure_password
belongs_to :company
validates :username, presence: true, uniqueness: { case_sensitive: false }
validates :email, presence: true, uniqueness: { case_sensitive: false }, format: { with: URI::MailTo::EMAIL_REGEXP }
validates :password, length: { minimum: 6 }, if: -> { new_record? || password.present? }
validates :company_id, presence: true
before_save :downcase_username_and_email
def self.find_by_login(login)
find_by(username: login.downcase) || find_by(email: login.downcase)
end
private
def downcase_username_and_email
self.username = username.downcase.strip if username.present?
self.email = email.downcase.strip if email.present?
end
end