Sha256: f24c3431f24d41810e10e4c488122f5fd53044a139b814e6d1205ef67430ab18

Contents?: true

Size: 645 Bytes

Versions: 3

Compression:

Stored size: 645 Bytes

Contents

module SiebelDonations
  class Donor < Base

    def self.path() '/donors'; end

    attr_reader :id, :account_name, :contacts, :addresses, :type

    def initialize(json = {})
      super

      @contacts = json['contacts'] ? json['contacts'].collect { |contact_json| SiebelDonations::Contact.new(contact_json) } : []
      @addresses = json['addresses'] ? json['addresses'].collect { |address_json| SiebelDonations::Address.new(address_json) } : []
    end

    def primary_contact
      @contacts.detect(&:primary) || @contacts.first
    end

    def primary_address
      @addresses.detect(&:primary) || @addresses.first
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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