24 lines
736 B
Ruby
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
|