Sha256: 52d00bb7627850c38e95e5027913cde459f9a0679b2ccc33ddad8249131fa708

Contents?: true

Size: 1.82 KB

Versions: 1

Compression:

Stored size: 1.82 KB

Contents

# frozen_string_literals: true

module Jobshop
  class Organization < ApplicationRecord
    self.primary_key = :organization_id

    has_many :collections, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :companies, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :company_types, inverse_of: :organization,
      dependent: :restrict_with_exception,
      class_name: "Jobshop::Company::Type"

    has_many :inspection_reports, inverse_of: :organization,
      dependent: :restrict_with_exception,
      class_name: "Jobshop::Inspection::Report"

    has_many :mailmen, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :orders, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :people, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :places, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :products, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :rfqs, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :roles, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :routing_processes, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :things, inverse_of: :organization,
      dependent: :restrict_with_exception

    has_many :users, inverse_of: :organization,
      dependent: :restrict_with_exception

    scope :grouped_by_email, ->(email_addresses) {
      Jobshop::User
        .where(email: email_addresses)
        .joins(:organization)
        .includes(:organization)
        .each_with_object({}) { |user, organizations|
          (organizations[user.email] ||= []) << user.organization
        }
    }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jobshop-0.0.163 app/models/jobshop/organization.rb