Sha256: a61cb87a3f0ab437d610318077da8ad5bdc9cd97399a1aba5fefb463c8c4cd89

Contents?: true

Size: 768 Bytes

Versions: 3

Compression:

Stored size: 768 Bytes

Contents

module SiebelDonations
  class Contact < Base

    attr_reader :id, :primary, :first_name, :preferred_name, :middle_name, :last_name,
                :title, :sufix, :sex, :phone_numbers, :email_addresses

    def initialize(json = {})
      super

      @phone_numbers = json['phoneNumbers'] ? json['phoneNumbers'].collect { |phone_json| SiebelDonations::PhoneNumber.new(phone_json) } : []
      @email_addresses = json['emailAddresses'] ? json['emailAddresses'].collect { |email_json| SiebelDonations::EmailAddress.new(email_json) } : []
    end

    def primary_email_address
      @email_addresses.detect(&:primary) || @email_addresses.first
    end

    def primary_phone_number
      @phone_numbers.detect(&:primary) || @phone_numbers.first
    end

  end
end


Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
siebel_donations-1.0.3 lib/siebel_donations/contact.rb
siebel_donations-1.0.2 lib/siebel_donations/contact.rb
siebel_donations-1.0.1 lib/siebel_donations/contact.rb