class TopsConnect::Owner

Public Instance Methods

addresses() click to toggle source
# File lib/tops_connect/owner.rb, line 13
def addresses
  @addresses ||= data['Addresses'].map do |record|
    TopsConnect::Address.new(record, owner: self)
  end
end
alternate_mailing_addresses() click to toggle source
# File lib/tops_connect/owner.rb, line 19
def alternate_mailing_addresses
  addresses
    .select { |address| address.type == 'Alternate' }
    .map(&:formatted)
    .compact
end
alternate_name() click to toggle source
# File lib/tops_connect/owner.rb, line 38
def alternate_name
  data['AlternateName']
end
alternate_phone() click to toggle source
# File lib/tops_connect/owner.rb, line 48
def alternate_phone
  phone = data['Phones'].find { |row| row['Type']['Name'] == 'Alternate' }

  phone['PhoneNumber'] if phone
end
community_key() click to toggle source
# File lib/tops_connect/owner.rb, line 30
def community_key
  data['CommunityKey']
end
fax() click to toggle source
# File lib/tops_connect/owner.rb, line 54
def fax
  phone = data['Phones'].find { |row| row['Type']['Name'] == 'Fax' }

  phone['PhoneNumber'] if phone
end
hold_collection?() click to toggle source
# File lib/tops_connect/owner.rb, line 96
def hold_collection?
  data['Metadata']['HoldCollection']
end
hold_payment?() click to toggle source
# File lib/tops_connect/owner.rb, line 92
def hold_payment?
  data['Metadata']['HoldPayment']
end
home_phone() click to toggle source
# File lib/tops_connect/owner.rb, line 42
def home_phone
  phone = data['Phones'].find { |row| row['Type']['Name'] == 'Home' }

  phone['PhoneNumber'] if phone
end
id()
Alias for: owner_key
move_out_date() click to toggle source
# File lib/tops_connect/owner.rb, line 80
def move_out_date
  return unless data['MoveOutDate']

  Time.parse data['MoveOutDate']
end
owner?() click to toggle source
# File lib/tops_connect/owner.rb, line 72
def owner?
  data['ResidentType'] == 'Owner'
end
owner_key() click to toggle source
# File lib/tops_connect/owner.rb, line 8
def owner_key
  data['Key']
end
Also aliased as: id
property_key() click to toggle source
# File lib/tops_connect/owner.rb, line 26
def property_key
  data['PropertyKey']
end
settlement_date() click to toggle source
# File lib/tops_connect/owner.rb, line 86
def settlement_date
  return unless data['SettlementDate']

  Time.parse data['SettlementDate']
end
tenant?() click to toggle source
# File lib/tops_connect/owner.rb, line 76
def tenant?
  data['ResidentType'] == 'Tenant'
end
tops_id() click to toggle source

The internal key used by Tops Pro - property number, homeowner type, owner number in the format PPPPPPTOOO.

# File lib/tops_connect/owner.rb, line 102
def tops_id
  data['Metadata']['TopsId']
end
updated_at() click to toggle source
# File lib/tops_connect/owner.rb, line 66
def updated_at
  return unless data['Metadata']['ModifiedDate']

  Time.parse data['Metadata']['ModifiedDate']
end
work_phone() click to toggle source
# File lib/tops_connect/owner.rb, line 60
def work_phone
  phone = data['Phones'].find { |row| row['Type']['Name'] == 'Work' }

  phone['PhoneNumber'] if phone
end