siebel_donations 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,7 +4,7 @@ require 'oj'
4
4
  module SiebelDonations
5
5
  class Base
6
6
 
7
- def initialize(json)
7
+ def initialize(json = {})
8
8
  json.each do |key, value|
9
9
  instance_variable_set("@#{key.underscore}", value)
10
10
  end
@@ -4,11 +4,19 @@ module SiebelDonations
4
4
  attr_reader :id, :primary, :first_name, :preferred_name, :middle_name, :last_name,
5
5
  :title, :sufix, :sex, :phone_numbers, :email_addresses
6
6
 
7
- def initialize(json)
7
+ def initialize(json = {})
8
8
  super
9
9
 
10
- @phone_numbers = json['phoneNumbers'].collect { |phone_json| SiebelDonations::PhoneNumber.new(phone_json) } if json['phoneNumbers']
11
- @email_addresses = json['emailAddresses'].collect { |email_json| SiebelDonations::EmailAddress.new(email_json) } if json['emailAddresses']
10
+ @phone_numbers = json['phoneNumbers'] ? json['phoneNumbers'].collect { |phone_json| SiebelDonations::PhoneNumber.new(phone_json) } : []
11
+ @email_addresses = json['emailAddresses'] ? json['emailAddresses'].collect { |email_json| SiebelDonations::EmailAddress.new(email_json) } : []
12
+ end
13
+
14
+ def primary_email_address
15
+ @email_addresses.detect(&:primary) || @email_addresses.first
16
+ end
17
+
18
+ def primary_phone_number
19
+ @phone_numbers.detect(&:primary) || @phone_numbers.first
12
20
  end
13
21
 
14
22
  end
@@ -3,7 +3,7 @@ module SiebelDonations
3
3
 
4
4
  def self.path() '/donations'; end
5
5
 
6
- attr_reader :id, :amount, :designation, :donor_id, :designation_date, :payment_method,
6
+ attr_reader :id, :amount, :designation, :donor_id, :donation_date, :payment_method,
7
7
  :payment_type, :channel, :campaign_code
8
8
 
9
9
  end
@@ -5,11 +5,19 @@ module SiebelDonations
5
5
 
6
6
  attr_reader :id, :account_name, :contacts, :addresses, :type
7
7
 
8
- def initialize(json)
8
+ def initialize(json = {})
9
9
  super
10
10
 
11
- @contacts = json['contacts'].collect { |contact_json| SiebelDonations::Contact.new(contact_json) } if json['contacts']
12
- @addresses = json['addresses'].collect { |address_json| SiebelDonations::Address.new(address_json) } if json['addresses']
11
+ @contacts = json['contacts'] ? json['contacts'].collect { |contact_json| SiebelDonations::Contact.new(contact_json) } : []
12
+ @addresses = json['addresses'] ? json['addresses'].collect { |address_json| SiebelDonations::Address.new(address_json) } : []
13
+ end
14
+
15
+ def primary_contact
16
+ @contacts.detect(&:primary) || @contacts.first
17
+ end
18
+
19
+ def primary_address
20
+ @addresses.detect(&:primary) || @addresses.first
13
21
  end
14
22
 
15
23
  end
@@ -5,10 +5,10 @@ module SiebelDonations
5
5
 
6
6
  attr_reader :id, :name, :designations
7
7
 
8
- def initialize(json)
8
+ def initialize(json = {})
9
9
  super
10
10
 
11
- @designations = json['designations'].collect { |designation_json| Designation.new(designation_json) }
11
+ @designations = json['designations'] ? json['designations'].collect { |designation_json| Designation.new(designation_json) } : []
12
12
  end
13
13
 
14
14
  end
@@ -1,3 +1,3 @@
1
1
  module SiebelDonations
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: siebel_donations
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-03 00:00:00.000000000 Z
12
+ date: 2012-12-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client