Sha256: e23e83362262d111bddee6469296cfffd872f819a3181c2f580a77912526f8bc

Contents?: true

Size: 779 Bytes

Versions: 4

Compression:

Stored size: 779 Bytes

Contents

class Site < MLS::Model
  
  belongs_to :region
  belongs_to :cover_photo, :class_name => 'Image'
  belongs_to :logo, :class_name => 'Image'

  has_many :ownerships, as: :asset
  has_many :accounts, through: :ownerships, source: :account, inverse_of: :sites
  has_many :services, as: :subject

  def contacts
    if ownerships.loaded?
      @contacts ||= ownerships.select{|o| o.receives_inquiries }.map(&:account)
    else
      @contacts ||= ownerships.eager_load(:account).filter(:receives_inquiries => true).map(&:account)
    end
  end

  def lead_contacts
    if ownerships.loaded?
      @lead_contacts ||= ownerships.select{|o| o.lead}.map(&:account)
    else
      @lead_contacts ||= ownerships.eager_load(:account).filter(:lead => true).map(&:account)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mls-1.9.0 lib/mls/models/site.rb
mls-1.8.0 lib/mls/models/site.rb
mls-1.7.0 lib/mls/models/site.rb
mls-1.6.0 lib/mls/models/site.rb