Sha256: fc26a88a2d74550625f7ecad2a15bdc505e81b7533cf76c38fb06174f9e5f300

Contents?: true

Size: 890 Bytes

Versions: 39

Compression:

Stored size: 890 Bytes

Contents

# frozen_string_literal: true

module Admin
  class User < ApplicationRecord
    include Koi::Model::Archivable

    def self.model_name
      ActiveModel::Name.new(self, nil, "Admin")
    end

    # disable validations for password_digest
    has_secure_password validations: false

    has_many :credentials, inverse_of: :admin, class_name: "Admin::Credential", dependent: :destroy

    validates :name, :email, presence: true
    validates :email, uniqueness: true, format: { with: URI::MailTo::EMAIL_REGEXP }

    scope :alphabetical, -> { order(name: :asc) }

    if "PgSearch::Model".safe_constantize
      include PgSearch::Model

      pg_search_scope :admin_search, against: %i[email name], using: { tsearch: { prefix: true } }
    else
      scope :admin_search, ->(query) do
        where("email LIKE :query OR name LIKE :query", query: "%#{query}%")
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
katalyst-koi-4.14.3 app/models/admin/user.rb
katalyst-koi-4.14.2 app/models/admin/user.rb
katalyst-koi-4.14.1 app/models/admin/user.rb
katalyst-koi-4.14.0 app/models/admin/user.rb
katalyst-koi-4.13.2 app/models/admin/user.rb
katalyst-koi-4.13.0 app/models/admin/user.rb
katalyst-koi-4.12.6 app/models/admin/user.rb
katalyst-koi-4.12.5 app/models/admin/user.rb
katalyst-koi-4.12.4 app/models/admin/user.rb
katalyst-koi-4.12.3 app/models/admin/user.rb
katalyst-koi-4.12.2 app/models/admin/user.rb
katalyst-koi-4.12.1 app/models/admin/user.rb
katalyst-koi-4.12.0 app/models/admin/user.rb
katalyst-koi-4.11.2 app/models/admin/user.rb
katalyst-koi-4.11.1 app/models/admin/user.rb
katalyst-koi-4.11.0 app/models/admin/user.rb
katalyst-koi-4.10.3 app/models/admin/user.rb
katalyst-koi-4.10.2 app/models/admin/user.rb
katalyst-koi-4.10.1 app/models/admin/user.rb
katalyst-koi-4.10.0 app/models/admin/user.rb