class Sovren::ContactInformation

Attributes

address_line_1[RW]
address_line_2[RW]
aristocratic_title[RW]
city[RW]
country[RW]
email[RW]
first_name[RW]
form_of_address[RW]
generation[RW]
home_phone[RW]
last_name[RW]
middle_name[RW]
mobile_phone[RW]
postal_code[RW]
qualification[RW]
state[RW]
website[RW]

Public Class Methods

parse(contact_information) click to toggle source
# File lib/sovren/contact_information.rb, line 5
def self.parse(contact_information)
  return nil if contact_information.nil?
  result = self.new
  result.first_name = contact_information.css('PersonName GivenName').collect(&:text).join(" ")
  result.middle_name = contact_information.css('PersonName MiddleName').collect(&:text).join(" ")
  result.last_name = contact_information.css('PersonName FamilyName').collect(&:text).join(" ")
  result.aristocratic_title = contact_information.css('PersonName Affix[type=aristocraticTitle]').collect(&:text).join(" ")
  result.form_of_address = contact_information.css('PersonName Affix[type=formOfAddress]').collect(&:text).join(" ")
  result.generation = contact_information.css('PersonName Affix[type=generation]').collect(&:text).join(" ")
  result.qualification = contact_information.css('PersonName Affix[type=qualification]').collect(&:text).join(" ")

  address = contact_information.css('PostalAddress DeliveryAddress AddressLine').collect(&:text)
  result.address_line_1 = address[0] if address.length > 0
  result.address_line_2 = address[1] if address.length > 1
  result.city = contact_information.css('PostalAddress').first.css('Municipality').text rescue nil
  result.state = contact_information.css('PostalAddress').first.css('Region').text rescue nil
  result.postal_code = contact_information.css('PostalAddress').first.css('PostalCode').text rescue nil
  result.country = contact_information.css('PostalAddress').first.css('CountryCode').text rescue nil

  result.home_phone = contact_information.css('Telephone FormattedNumber').first.text rescue nil
  result.mobile_phone = contact_information.css('Mobile FormattedNumber').first.text rescue nil

  result.website = contact_information.css('InternetWebAddress').first.text rescue nil
  result.email = contact_information.css('InternetEmailAddress').first.text rescue nil

  result
end