Sha256: f9a6663cf7ecdddfd08b1dece96de2363344877af9d6a08395697a6c979059e4

Contents?: true

Size: 1007 Bytes

Versions: 1

Compression:

Stored size: 1007 Bytes

Contents

class Account < MLS::Model

  include MLS::Slugger
  include MLS::Avatar

  has_one :lead, foreign_key: :account_id

  belongs_to :organization

  has_many :tasks
  has_many :sources
  has_many :agencies, :inverse_of => :agent, :foreign_key => :agent_id
  
  has_and_belongs_to_many :regions, :foreign_key => :agent_id

  has_many :email_addresses, :dependent => :destroy do
    def primary
      # For cases where the number is not primary we order
      order(:primary => :desc).first
    end
  end

  has_many :phones, dependent: :destroy do

    def primary
      # For cases where the number is not primary we order
      order(:primary => :desc).first
    end

  end
  
  def email_address
    if email_addresses.loaded?
      email_addresses.to_a.find{|p| p.primary }.try(:address)
    else
      email_addresses.primary.try(:address)
    end
  end
  
  def phone
    if phones.loaded?
      phones.to_a.find{|p| p.primary }.try(:number)
    else
      phones.primary.try(:number)
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mls-1.4.3 lib/mls/account.rb