stbaldricks 12.15.0.alpha.1 → 12.15.0.alpha.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stbaldricks/configuration.rb +2 -2
  3. data/lib/stbaldricks/default_logger.rb +2 -2
  4. data/lib/stbaldricks/endpoints/blog_post.rb +8 -8
  5. data/lib/stbaldricks/endpoints/communicate.rb +1 -1
  6. data/lib/stbaldricks/endpoints/config.rb +1 -1
  7. data/lib/stbaldricks/endpoints/deduplicator_match.rb +2 -2
  8. data/lib/stbaldricks/endpoints/kid.rb +1 -1
  9. data/lib/stbaldricks/endpoints/lib/entity.rb +11 -13
  10. data/lib/stbaldricks/endpoints/newsletter_recipient.rb +5 -11
  11. data/lib/stbaldricks/endpoints/participant.rb +3 -3
  12. data/lib/stbaldricks/endpoints/photo.rb +4 -5
  13. data/lib/stbaldricks/endpoints/promo.rb +15 -5
  14. data/lib/stbaldricks/endpoints/search.rb +2 -2
  15. data/lib/stbaldricks/endpoints/user.rb +1 -1
  16. data/lib/stbaldricks/entities/batch.rb +5 -3
  17. data/lib/stbaldricks/entities/blog_post.rb +7 -1
  18. data/lib/stbaldricks/entities/campaign.rb +13 -6
  19. data/lib/stbaldricks/entities/challenge.rb +6 -4
  20. data/lib/stbaldricks/entities/challenger.rb +6 -4
  21. data/lib/stbaldricks/entities/concerns/entity_response_concern.rb +1 -1
  22. data/lib/stbaldricks/entities/config.rb +8 -3
  23. data/lib/stbaldricks/entities/contact.rb +7 -4
  24. data/lib/stbaldricks/entities/contact_group.rb +2 -2
  25. data/lib/stbaldricks/entities/deduplicator_history.rb +6 -1
  26. data/lib/stbaldricks/entities/deduplicator_match.rb +7 -4
  27. data/lib/stbaldricks/entities/disease.rb +5 -2
  28. data/lib/stbaldricks/entities/document_library.rb +8 -3
  29. data/lib/stbaldricks/entities/document_library_category.rb +4 -1
  30. data/lib/stbaldricks/entities/donation.rb +18 -12
  31. data/lib/stbaldricks/entities/donor.rb +5 -1
  32. data/lib/stbaldricks/entities/event.rb +44 -33
  33. data/lib/stbaldricks/entities/event_application.rb +10 -6
  34. data/lib/stbaldricks/entities/event_donation_summary.rb +5 -2
  35. data/lib/stbaldricks/entities/event_participant_summary.rb +3 -1
  36. data/lib/stbaldricks/entities/event_supporter.rb +3 -3
  37. data/lib/stbaldricks/entities/fund.rb +23 -6
  38. data/lib/stbaldricks/entities/fundraiser.rb +29 -16
  39. data/lib/stbaldricks/entities/grant.rb +25 -12
  40. data/lib/stbaldricks/entities/institution.rb +4 -3
  41. data/lib/stbaldricks/entities/international_partner.rb +16 -4
  42. data/lib/stbaldricks/entities/kid.rb +28 -11
  43. data/lib/stbaldricks/entities/kid_honor.rb +0 -1
  44. data/lib/stbaldricks/entities/kid_institution.rb +2 -2
  45. data/lib/stbaldricks/entities/lib/address.rb +6 -3
  46. data/lib/stbaldricks/entities/lib/alternate_shipping_address.rb +3 -1
  47. data/lib/stbaldricks/entities/lib/base.rb +39 -47
  48. data/lib/stbaldricks/entities/lib/collection.rb +2 -2
  49. data/lib/stbaldricks/entities/lib/email_address.rb +2 -1
  50. data/lib/stbaldricks/entities/lib/fundraising_page.rb +2 -1
  51. data/lib/stbaldricks/entities/lib/location.rb +0 -1
  52. data/lib/stbaldricks/entities/lib/milestone.rb +3 -1
  53. data/lib/stbaldricks/entities/lib/name.rb +2 -2
  54. data/lib/stbaldricks/entities/lib/not_implemented_object.rb +1 -1
  55. data/lib/stbaldricks/entities/lib/permissions.rb +4 -2
  56. data/lib/stbaldricks/entities/lib/phone.rb +3 -2
  57. data/lib/stbaldricks/entities/lib/third_party_media.rb +5 -1
  58. data/lib/stbaldricks/entities/lib/top_level.rb +1 -1
  59. data/lib/stbaldricks/entities/matching_gift_company.rb +39 -16
  60. data/lib/stbaldricks/entities/memorial.rb +14 -9
  61. data/lib/stbaldricks/entities/message.rb +15 -4
  62. data/lib/stbaldricks/entities/organization.rb +17 -11
  63. data/lib/stbaldricks/entities/page.rb +17 -8
  64. data/lib/stbaldricks/entities/participant.rb +28 -18
  65. data/lib/stbaldricks/entities/participant_donation_summary.rb +4 -2
  66. data/lib/stbaldricks/entities/person.rb +31 -22
  67. data/lib/stbaldricks/entities/person_donation_by_year_summary.rb +2 -1
  68. data/lib/stbaldricks/entities/photo.rb +11 -5
  69. data/lib/stbaldricks/entities/recurring_gift.rb +18 -10
  70. data/lib/stbaldricks/entities/response.rb +0 -1
  71. data/lib/stbaldricks/entities/search.rb +168 -30
  72. data/lib/stbaldricks/entities/section.rb +4 -1
  73. data/lib/stbaldricks/entities/shave_schedule.rb +13 -4
  74. data/lib/stbaldricks/entities/summary.rb +7 -1
  75. data/lib/stbaldricks/entities/team.rb +16 -12
  76. data/lib/stbaldricks/entities/team_donation_summary.rb +4 -2
  77. data/lib/stbaldricks/request.rb +2 -2
  78. data/lib/stbaldricks/version.rb +1 -1
  79. data/lib/stbaldricks_factories.rb +5 -0
  80. data/spec/factories/address.rb +14 -0
  81. data/spec/factories/campaign/totals.rb +9 -0
  82. data/spec/factories/campaign.rb +9 -0
  83. data/spec/factories/challenge.rb +19 -0
  84. data/spec/factories/challenger.rb +33 -0
  85. data/spec/factories/collection.rb +17 -0
  86. data/spec/factories/contact.rb +18 -0
  87. data/spec/factories/contact_group.rb +18 -0
  88. data/spec/factories/diagnosis.rb +12 -0
  89. data/spec/factories/disease.rb +11 -0
  90. data/spec/factories/donation/participant.rb +27 -0
  91. data/spec/factories/donation.rb +68 -0
  92. data/spec/factories/donor.rb +13 -0
  93. data/spec/factories/email_address.rb +11 -0
  94. data/spec/factories/error.rb +9 -0
  95. data/spec/factories/event/coach_tracking/coaching_interactions.rb +12 -0
  96. data/spec/factories/event/coach_tracking/plaque.rb +12 -0
  97. data/spec/factories/event/coach_tracking/proceeds.rb +12 -0
  98. data/spec/factories/event/coach_tracking.rb +18 -0
  99. data/spec/factories/event/contacts/contact.rb +17 -0
  100. data/spec/factories/event/contacts/name_pieces.rb +12 -0
  101. data/spec/factories/event/contacts.rb +16 -0
  102. data/spec/factories/event/photos.rb +12 -0
  103. data/spec/factories/event/totals.rb +15 -0
  104. data/spec/factories/event/venue/location.rb +18 -0
  105. data/spec/factories/event/venue/social.rb +16 -0
  106. data/spec/factories/event/venue.rb +16 -0
  107. data/spec/factories/event.rb +66 -0
  108. data/spec/factories/event_application.rb +34 -0
  109. data/spec/factories/event_supporter.rb +19 -0
  110. data/spec/factories/fund.rb +18 -0
  111. data/spec/factories/fundraiser/photos.rb +12 -0
  112. data/spec/factories/fundraiser/policies.rb +11 -0
  113. data/spec/factories/fundraiser/totals.rb +11 -0
  114. data/spec/factories/fundraiser.rb +24 -0
  115. data/spec/factories/fundraising_page.rb +29 -0
  116. data/spec/factories/grant.rb +22 -0
  117. data/spec/factories/grant_institution.rb +17 -0
  118. data/spec/factories/institution.rb +18 -0
  119. data/spec/factories/kid/custom_institution.rb +12 -0
  120. data/spec/factories/kid.rb +58 -0
  121. data/spec/factories/kid_honor.rb +16 -0
  122. data/spec/factories/kid_institution.rb +23 -0
  123. data/spec/factories/lib/faker_patch.rb +27 -0
  124. data/spec/factories/lib/helpers.rb +7 -0
  125. data/spec/factories/location.rb +17 -0
  126. data/spec/factories/memorial/photos.rb +14 -0
  127. data/spec/factories/memorial/totals.rb +11 -0
  128. data/spec/factories/memorial/tribute.rb +19 -0
  129. data/spec/factories/memorial.rb +22 -0
  130. data/spec/factories/message.rb +31 -0
  131. data/spec/factories/milestone.rb +15 -0
  132. data/spec/factories/name_pieces.rb +24 -0
  133. data/spec/factories/newsletter_recipient.rb +13 -0
  134. data/spec/factories/organization/addresses.rb +16 -0
  135. data/spec/factories/organization/email_addresses.rb +14 -0
  136. data/spec/factories/organization/phone_numbers.rb +14 -0
  137. data/spec/factories/organization.rb +34 -0
  138. data/spec/factories/page.rb +5 -0
  139. data/spec/factories/participant/photos.rb +14 -0
  140. data/spec/factories/participant/policies.rb +12 -0
  141. data/spec/factories/participant/rankings/ranking.rb +12 -0
  142. data/spec/factories/participant/rankings.rb +16 -0
  143. data/spec/factories/participant/roles/role.rb +154 -0
  144. data/spec/factories/participant/roles.rb +37 -0
  145. data/spec/factories/participant/totals.rb +11 -0
  146. data/spec/factories/participant.rb +95 -0
  147. data/spec/factories/payment.rb +13 -0
  148. data/spec/factories/permissions.rb +12 -0
  149. data/spec/factories/person/addresses.rb +16 -0
  150. data/spec/factories/person/email_addresses.rb +14 -0
  151. data/spec/factories/person/phone_numbers.rb +14 -0
  152. data/spec/factories/person/policies.rb +13 -0
  153. data/spec/factories/person.rb +22 -0
  154. data/spec/factories/phone.rb +11 -0
  155. data/spec/factories/photo.rb +11 -0
  156. data/spec/factories/photos.rb +9 -0
  157. data/spec/factories/recurring_gift.rb +22 -0
  158. data/spec/factories/researcher.rb +15 -0
  159. data/spec/factories/response.rb +38 -0
  160. data/spec/factories/search_event.rb +19 -0
  161. data/spec/factories/search_fundraiser.rb +15 -0
  162. data/spec/factories/search_kid.rb +13 -0
  163. data/spec/factories/search_participant.rb +15 -0
  164. data/spec/factories/search_team.rb +13 -0
  165. data/spec/factories/shave_schedule/time_selection_permissions.rb +12 -0
  166. data/spec/factories/shave_schedule.rb +33 -0
  167. data/spec/factories/team/photos.rb +12 -0
  168. data/spec/factories/team/rankings/ranking.rb +12 -0
  169. data/spec/factories/team/rankings.rb +15 -0
  170. data/spec/factories/team/totals.rb +14 -0
  171. data/spec/factories/team.rb +43 -0
  172. data/spec/factories/third_party_media.rb +12 -0
  173. data/spec/factories/treatment_status.rb +10 -0
  174. data/spec/factories/user.rb +14 -0
  175. data/spec/factories/venue.rb +15 -0
  176. metadata +275 -81
@@ -33,19 +33,30 @@ module SBF
33
33
  DELETED = 'deleted'.freeze
34
34
  end
35
35
 
36
- attr_accessor :id, :status, :message_id, :display_name, :email
36
+ attr_accessor :id
37
+ attr_accessor :status
37
38
 
39
+ attr_accessor :message_id
38
40
  entity_attr_reader :person, 'SBF::Client::FullPerson', 'SBF::Client::PartialPerson'
41
+ attr_accessor :display_name
42
+ attr_accessor :email
39
43
 
40
44
  attr_reader :modified_at
41
45
  end
42
46
 
43
- attr_accessor :id, :type, :status, :subject, :body
47
+ attr_accessor :id
48
+ attr_accessor :type
49
+ attr_accessor :status
44
50
 
45
51
  entity_collection_attr_accessor :to, 'SBF::Client::Message::Recipient'
46
- attr_reader :from_ip, :from_email, :display_name, :created_at, :modified_at, :sent_at
47
-
52
+ attr_reader :from_ip
48
53
  entity_attr_reader :from_person, 'SBF::Client::FullPerson', 'SBF::Client::PartialPerson'
54
+ attr_reader :from_email
55
+ attr_reader :display_name
56
+ attr_accessor :subject
57
+ attr_accessor :body
58
+
59
+ attr_reader :created_at, :modified_at, :sent_at
49
60
  end
50
61
  end
51
62
  end
@@ -67,7 +67,8 @@ module SBF
67
67
  end
68
68
 
69
69
  class Totals < SBF::Client::BaseEntity
70
- attr_reader :amount_raised, :donations
70
+ attr_reader :amount_raised
71
+ attr_reader :donations
71
72
  end
72
73
  end
73
74
 
@@ -78,23 +79,28 @@ module SBF
78
79
  class FullOrganization < SBF::Client::Organization
79
80
  class ContactName < SBF::Client::BaseEntity
80
81
  attr_reader :name
81
-
82
82
  entity_attr_accessor :name_pieces, 'SBF::Client::NamePieces'
83
83
  end
84
84
 
85
- attr_accessor :id, :salesforce_id, :salesforce_account_id, :type, :status, :display_name_override, :name,
86
- :selected_shipping_method, :modified_by, :how_created
87
- attr_reader :display_name, :created_at, :modified_at
88
-
85
+ attr_accessor :id
86
+ attr_accessor :salesforce_id
87
+ attr_accessor :salesforce_account_id
88
+ attr_accessor :type
89
+ attr_accessor :status
90
+ attr_reader :display_name
91
+ attr_accessor :display_name_override
92
+ attr_accessor :name
89
93
  entity_attr_accessor :contact, 'SBF::Client::FullOrganization::ContactName'
90
94
  entity_attr_accessor :addresses, 'SBF::Client::Organization::Addresses'
91
95
  entity_attr_accessor :phone_numbers, 'SBF::Client::Organization::PhoneNumbers'
92
96
  entity_attr_accessor :email_addresses, 'SBF::Client::Organization::EmailAddresses'
93
- entity_attr_accessor :opt_out_settings, 'SBF::Client::OptOutSettings', nil, optional: true
94
-
95
- entity_attr_accessor :alternate_shipping_address, 'SBF::Client::AlternateShippingAddress', nil, optional: true
96
-
97
- entity_attr_reader :totals, 'SBF::Client::Organization::Totals', nil, optional: true
97
+ entity_attr_accessor :opt_out_settings, 'SBF::Client::OptOutSettings', nil, true
98
+ attr_accessor :selected_shipping_method
99
+ entity_attr_accessor :alternate_shipping_address, 'SBF::Client::AlternateShippingAddress', nil, true
100
+ attr_reader :created_at, :modified_at
101
+ attr_accessor :modified_by
102
+ attr_accessor :how_created
103
+ entity_attr_reader :totals, 'SBF::Client::Organization::Totals', nil, true
98
104
 
99
105
  def active?
100
106
  status == SBF::Client::Organization::Status::ACTIVE
@@ -9,8 +9,13 @@ module SBF
9
9
  actions DEFAULT_CRUD_ACTIONS
10
10
 
11
11
  class Content < SBF::Client::BaseEntity
12
- attr_reader :id, :date_modified
13
- attr_accessor :is_draft, :type, :title, :text, :sort_order
12
+ attr_reader :id
13
+ attr_accessor :is_draft
14
+ attr_accessor :type
15
+ attr_accessor :title
16
+ attr_accessor :text
17
+ attr_accessor :sort_order
18
+ attr_reader :date_modified
14
19
 
15
20
  module Type
16
21
  TEXT = 'text'.freeze
@@ -18,8 +23,15 @@ module SBF
18
23
  end
19
24
  end
20
25
 
21
- attr_reader :id, :may_edit
22
- attr_accessor :title, :lookup, :title_tag, :locked_by_profile_id, :locked_at, :modified_by_profile_id, :date_modified
26
+ attr_reader :id
27
+ attr_accessor :title
28
+ attr_accessor :lookup
29
+ attr_accessor :title_tag
30
+ attr_accessor :locked_by_profile_id
31
+ attr_accessor :locked_at
32
+ attr_accessor :modified_by_profile_id
33
+ attr_accessor :date_modified
34
+ attr_reader :may_edit
23
35
  entity_collection_attr_accessor :content, 'SBF::Client::Page::Content'
24
36
 
25
37
  def meta_content
@@ -63,10 +75,7 @@ module SBF
63
75
  # update or create draft version of content
64
76
  draft = draft_content.find { |d| d.id == cid }
65
77
  if draft.nil?
66
- self.content << SBF::Client::Page::Content.new(
67
- content.to_hash.merge(is_draft: true, title: data[:title], text: data[:text]),
68
- clear_changes: false
69
- )
78
+ self.content << SBF::Client::Page::Content.new(content.to_hash.merge(is_draft: true, title: data[:title], text: data[:text]))
70
79
  else
71
80
  draft.title = data[:title]
72
81
  draft.text = data[:text]
@@ -138,8 +138,8 @@ module SBF
138
138
 
139
139
  class Organizer < SBF::Client::Participant::Roles::LeadRole
140
140
  class Policies < SBF::Client::BaseEntity
141
- attr_accessor :agreement_received_date, :coaches_questionnaire_received_date, :is_revenue_waiver_accepted,
142
- :is_host_agreement_waiver_accepted
141
+ attr_accessor :agreement_received_date, :coaches_questionnaire_received_date
142
+ attr_accessor :is_revenue_waiver_accepted, :is_host_agreement_waiver_accepted
143
143
  end
144
144
 
145
145
  class PreviousOrganization < SBF::Client::BaseEntity
@@ -147,7 +147,6 @@ module SBF
147
147
  end
148
148
 
149
149
  attr_accessor :is_lead, :status
150
-
151
150
  entity_attr_accessor :policies, 'SBF::Client::Participant::Roles::Organizer::Policies'
152
151
  entity_attr_accessor :previous_organization, 'SBF::Client::Participant::Roles::Organizer::PreviousOrganization'
153
152
  end
@@ -159,7 +158,6 @@ module SBF
159
158
 
160
159
  class Salon < SBF::Client::BaseEntity
161
160
  attr_accessor :name
162
-
163
161
  entity_attr_accessor :phone, 'SBF::Client::Phone'
164
162
  end
165
163
 
@@ -211,28 +209,40 @@ module SBF
211
209
  extend Forwardable
212
210
  def_delegator :@photos, :avatar, :avatar_photo_url
213
211
 
214
- attr_accessor :id, :display_name_override, :facebook_fundraiser_id, :fund_relationship_type, :fundraising_goal, :fundraising_message,
215
- :how_created, :is_virtual, :modified_by, :offline_donation_uuid, :offline_donation_form, :shirt_size, :status
216
-
217
- attr_reader :created_at, :modified_at, :display_name, :is_website_allowed
212
+ attr_accessor :id
218
213
 
219
- entity_attr_reader :permissions, 'SBF::Client::Permissions', nil, optional: true
220
- entity_attr_reader :permissions_at_event, 'SBF::Client::PermissionsAtEvent', nil, optional: true
214
+ attr_reader :created_at, :modified_at
215
+ attr_reader :display_name
216
+ attr_reader :is_website_allowed
217
+
218
+ attr_accessor :display_name_override
219
+ attr_accessor :facebook_fundraiser_id
220
+ attr_accessor :fund_relationship_type
221
+ attr_accessor :fundraising_goal, :fundraising_message
222
+ attr_accessor :how_created
223
+ attr_accessor :is_virtual
224
+ attr_accessor :modified_by
225
+ attr_accessor :offline_donation_uuid, :offline_donation_form
226
+ attr_accessor :shirt_size
227
+ attr_accessor :status
228
+
229
+ entity_attr_reader :permissions, 'SBF::Client::Permissions', nil, true
230
+ entity_attr_reader :permissions_at_event, 'SBF::Client::PermissionsAtEvent', nil, true
221
231
  entity_attr_reader :photos, 'SBF::Client::Participant::Photos'
222
- entity_attr_reader :rankings, 'SBF::Client::Participant::Rankings', nil, optional: true
232
+ entity_attr_reader :rankings, 'SBF::Client::Participant::Rankings', nil, true
223
233
  entity_attr_reader :totals, 'SBF::Client::Participant::Totals'
224
234
 
225
- entity_attr_accessor :event, 'SBF::Client::FullEvent', 'SBF::Client::PartialEvent', optional: true
226
- entity_attr_accessor :fund, 'SBF::Client::FullFund', 'SBF::Client::PartialFund', optional: true
227
- entity_attr_accessor :fundraising_page, 'SBF::Client::FundraisingPage', nil, optional: true
235
+ entity_attr_accessor :event, 'SBF::Client::FullEvent', 'SBF::Client::PartialEvent', true
236
+ entity_attr_accessor :fund, 'SBF::Client::FullFund', 'SBF::Client::PartialFund', true
237
+ entity_attr_accessor :fundraising_page, 'SBF::Client::FundraisingPage', nil, true
228
238
  entity_attr_accessor :person, 'SBF::Client::FullPerson'
229
239
  entity_attr_accessor :policies, 'SBF::Client::Participant::Policies'
230
- entity_attr_accessor :roles, 'SBF::Client::Participant::Roles', nil, optional: true
240
+ entity_attr_accessor :roles, 'SBF::Client::Participant::Roles', nil, true
231
241
  entity_attr_accessor :shave_schedule, 'SBF::Client::Participant::ShaveSchedule'
232
- entity_attr_accessor :team, 'SBF::Client::FullTeam', 'SBF::Client::PartialTeam', optional: true
233
- entity_attr_accessor :third_party_media, 'SBF::Client::ThirdPartyMedia', nil, optional: true
242
+ entity_attr_accessor :team, 'SBF::Client::FullTeam', 'SBF::Client::PartialTeam', true
243
+ entity_attr_accessor :third_party_media, 'SBF::Client::ThirdPartyMedia', nil, true
234
244
 
235
- entity_collection_attr_accessor :milestones, 'SBF::Client::Milestone', nil, optional: true
245
+ entity_collection_attr_accessor :milestones, 'SBF::Client::Milestone', nil, true
236
246
 
237
247
  def active?
238
248
  status == SBF::Client::Participant::Status::ACTIVE
@@ -9,9 +9,11 @@ module SBF
9
9
  blacklist_action :update
10
10
  blacklist_action :delete
11
11
 
12
- attr_accessor :amount_raised, :donations, :event_year
12
+ attr_accessor :amount_raised
13
+ attr_accessor :donations
14
+ attr_accessor :event_year
13
15
 
14
- entity_attr_reader :participant, 'SBF::Client::FullParticipant', nil, optional: true
16
+ entity_attr_reader :participant, 'SBF::Client::FullParticipant', nil, true
15
17
  end
16
18
  end
17
19
  end
@@ -92,16 +92,15 @@ module SBF
92
92
 
93
93
  class Policies < SBF::Client::BaseEntity
94
94
  BACKGROUND_CHECK_YEARS_VALID = 5
95
- attr_accessor :is_photo_policy_accepted, :background_check_date, :background_check_url
95
+ attr_accessor :is_photo_policy_accepted
96
+ attr_accessor :background_check_date, :background_check_url
96
97
 
97
98
  def background_check_valid_at_date?(check_date)
98
99
  check_date = DateTime.parse(check_date) if check_date.is_a?(String)
99
100
  check_date = DateTime.parse(check_date.to_s) if check_date.is_a?(Date)
100
101
  check_date = DateTime.parse(check_date.strftime('%d/%m/%Y %H:%M:%S')) if check_date.is_a?(Time)
101
102
  background_check_date && check_date.is_a?(DateTime) \
102
- && DateTime.parse(background_check_date) > check_date.prev_year(
103
- SBF::Client::Person::Policies::BACKGROUND_CHECK_YEARS_VALID
104
- )
103
+ && background_check_date > check_date.prev_year(SBF::Client::Person::Policies::BACKGROUND_CHECK_YEARS_VALID)
105
104
  end
106
105
  end
107
106
 
@@ -206,7 +205,6 @@ module SBF
206
205
  end
207
206
  end
208
207
  end
209
-
210
208
  class Occupation < SBF::Client::BaseEntity
211
209
  module Type
212
210
  STUDENT = 'Student'.freeze
@@ -344,21 +342,21 @@ module SBF
344
342
  # able to determine what type it should be. As it is currently written, it cannot instanitate itself
345
343
  # without the information contained in the SBF::Client::Person::Occupation instance.
346
344
  attr_accessor :details
347
-
348
345
  def details=(value)
349
346
  details_will_change!
350
347
  if educator? || student?
351
- @details = SBF::Client::Person::Occupation::EducationDetails.new(value, clear_changes: false)
348
+ @details = SBF::Client::Person::Occupation::EducationDetails.new(value)
352
349
  elsif military?
353
- @details = SBF::Client::Person::Occupation::MilitaryDetails.new(value, clear_changes: false)
350
+ @details = SBF::Client::Person::Occupation::MilitaryDetails.new(value)
354
351
  elsif finance? || other?
355
- @details = SBF::Client::Person::Occupation::FinanceDetails.new(value, clear_changes: false)
352
+ @details = SBF::Client::Person::Occupation::FinanceDetails.new(value)
356
353
  end
357
354
  end
358
355
  end
359
356
 
360
357
  class Totals < SBF::Client::BaseEntity
361
- attr_reader :amount_raised, :donations
358
+ attr_reader :amount_raised
359
+ attr_reader :donations
362
360
  end
363
361
 
364
362
  def league_status_title
@@ -384,23 +382,34 @@ module SBF
384
382
  end
385
383
 
386
384
  class FullPerson < SBF::Client::Person
387
- attr_accessor :id, :salesforce_id, :salesforce_account_id, :type, :status, :gender, :is_minor, :birthday,
388
- :display_name_override, :years_as_participant, :years_as_organizer, :selected_shipping_method,
389
- :modified_by, :how_created, :date_last_notified_about_new_donations
390
- attr_reader :display_name, :first_and_last_name, :league_status, :name, :created_at, :modified_at
391
-
385
+ attr_accessor :id
386
+ attr_accessor :salesforce_id
387
+ attr_accessor :salesforce_account_id
388
+ attr_accessor :type
389
+ attr_accessor :status
390
+ attr_accessor :gender
391
+ attr_accessor :is_minor
392
+ attr_accessor :birthday
393
+ attr_reader :display_name, :first_and_last_name
394
+ attr_accessor :display_name_override
395
+ attr_accessor :years_as_participant, :years_as_organizer
396
+ attr_reader :league_status
397
+ attr_reader :name
392
398
  entity_attr_accessor :name_pieces, 'SBF::Client::NamePieces'
393
399
  entity_attr_accessor :addresses, 'SBF::Client::Person::Addresses'
394
400
  entity_attr_accessor :phone_numbers, 'SBF::Client::Person::PhoneNumbers'
395
401
  entity_attr_accessor :email_addresses, 'SBF::Client::Person::EmailAddresses'
396
- entity_attr_accessor :occupation, 'SBF::Client::Person::Occupation', nil, optional: true
402
+ entity_attr_accessor :occupation, 'SBF::Client::Person::Occupation', nil, true
397
403
  entity_attr_accessor :policies, 'SBF::Client::Person::Policies'
398
- entity_attr_accessor :how_affected, 'SBF::Client::Person::HowAffected', nil, optional: true
399
- entity_attr_accessor :opt_out_settings, 'SBF::Client::OptOutSettings', nil, optional: true
400
-
401
- entity_attr_accessor :alternate_shipping_address, 'SBF::Client::AlternateShippingAddress', nil, optional: true
402
-
403
- entity_attr_reader :totals, 'SBF::Client::Person::Totals', nil, optional: true
404
+ entity_attr_accessor :how_affected, 'SBF::Client::Person::HowAffected', nil, true
405
+ entity_attr_accessor :opt_out_settings, 'SBF::Client::OptOutSettings', nil, true
406
+ attr_accessor :selected_shipping_method
407
+ entity_attr_accessor :alternate_shipping_address, 'SBF::Client::AlternateShippingAddress', nil, true
408
+ attr_reader :created_at, :modified_at
409
+ attr_accessor :modified_by
410
+ attr_accessor :how_created
411
+ entity_attr_reader :totals, 'SBF::Client::Person::Totals', nil, true
412
+ attr_accessor :date_last_notified_about_new_donations
404
413
 
405
414
  def active?
406
415
  status == SBF::Client::Person::Status::ACTIVE
@@ -9,7 +9,8 @@ module SBF
9
9
  blacklist_action :update
10
10
  blacklist_action :delete
11
11
 
12
- attr_accessor :donations, :cumulative_total
12
+ attr_accessor :donations
13
+ attr_accessor :cumulative_total
13
14
  attr_reader :modified_at
14
15
 
15
16
  entity_attr_accessor :person, 'SBF::Client::FullPerson', 'SBF::Client::PartialPerson'
@@ -26,8 +26,13 @@ module SBF
26
26
  endpoint.send(:upload, *args)
27
27
  end
28
28
 
29
- attr_accessor :id, :caption, :sort_order, :year, :category, :file, :filename, :base_photo_url
30
-
29
+ attr_accessor :id
30
+ attr_accessor :caption
31
+ attr_accessor :sort_order
32
+ attr_accessor :year
33
+ attr_accessor :category
34
+ attr_accessor :file
35
+ attr_accessor :filename
31
36
  multitype_attr_accessor(
32
37
  :model,
33
38
  [
@@ -79,11 +84,12 @@ module SBF
79
84
  ],
80
85
  optional: false
81
86
  )
82
- attr_reader :original_file_id, :original_filename
87
+ attr_accessor :base_photo_url
88
+ attr_reader :original_file_id
89
+ attr_reader :original_filename
83
90
 
84
91
  def to_json(*a)
85
- names = %i(file filename)
86
- to_hash.reject { |k, _v| names.include? k }.to_json(*a)
92
+ to_hash.reject { |k, _v| %i(file filename).include? k }.to_json(*a)
87
93
  end
88
94
 
89
95
  module Category
@@ -168,7 +168,6 @@ module SBF
168
168
  class Tribute < SBF::Client::BaseEntity
169
169
  attr_accessor :type
170
170
  attr_reader :name
171
-
172
171
  entity_attr_accessor :name_pieces, 'SBF::Client::NamePieces'
173
172
 
174
173
  module Type
@@ -181,15 +180,24 @@ module SBF
181
180
  class PartialRecurringGift < SBF::Client::RecurringGift
182
181
  attr_accessor :id
183
182
  end
184
-
185
183
  class FullRecurringGift < SBF::Client::RecurringGift
186
- attr_accessor :status, :event_year, :amount, :fee_amount, :billing_day_of_month, :last_collected_at,
187
- :last_failed_at, :display_name, :display_name_override, :is_unrecognized, :promotional_code,
188
- :funding_type, :payment_gateway, :customer_id, :subscription_id, :created_at, :modified_at,
189
- :modified_by, :how_created, :how_created_id, :past_due_at
190
-
184
+ attr_accessor :status
185
+ attr_accessor :event_year
186
+ attr_accessor :amount
187
+ attr_accessor :fee_amount
188
+ attr_accessor :billing_day_of_month
189
+ attr_accessor :last_collected_at
190
+ attr_accessor :last_failed_at
191
+ attr_accessor :display_name
192
+ attr_accessor :display_name_override
193
+ attr_accessor :is_unrecognized
194
+ attr_accessor :promotional_code
195
+ attr_accessor :funding_type
196
+ attr_accessor :payment_gateway
197
+ attr_accessor :customer_id
198
+ attr_accessor :subscription_id
191
199
  entity_collection_attr_accessor :donations, 'SBF::Client::FullDonation', 'SBF::Client::PartialDonation'
192
-
200
+ attr_accessor :created_at, :modified_at, :modified_by, :how_created, :how_created_id, :past_due_at
193
201
  entity_attr_accessor :tribute, 'SBF::Client::RecurringGift::Tribute'
194
202
 
195
203
  multitype_attr_accessor(
@@ -283,12 +291,12 @@ module SBF
283
291
 
284
292
  def amount=(value)
285
293
  amount_will_change!
286
- @amount = value.to_s.gsub(/[^0-9.]/, '').to_f
294
+ @amount = value.to_s.gsub(/[^0-9\.]/, '').to_f
287
295
  end
288
296
 
289
297
  def fee_amount=(value)
290
298
  fee_amount_will_change!
291
- @fee_amount = value.to_s.gsub(/[^0-9.]/, '').to_f
299
+ @fee_amount = value.to_s.gsub(/[^0-9\.]/, '').to_f
292
300
  end
293
301
  end
294
302
  end
@@ -7,7 +7,6 @@ module SBF
7
7
  attr_accessor :http_code, :data, :error
8
8
 
9
9
  def initialize(http_code: nil, data: nil, error: nil)
10
- super()
11
10
  @http_code = http_code
12
11
  @data = data
13
12
  @error = error || SBF::Client::ErrorEntity.new(nil)
@@ -39,57 +39,195 @@ module SBF
39
39
  end
40
40
 
41
41
  class Fund < SBF::Client::BaseEntity
42
- attr_reader :fund_id, :slug, :name, :website, :disabled, :event_year, :total_donations, :total_events,
43
- :total_participants, :total_shavees, :mypage_url, :default_photo_url, :avatar_photo_url
42
+ attr_reader :fund_id
43
+ attr_reader :slug
44
+ attr_reader :name
45
+ attr_reader :website
46
+ attr_reader :disabled
47
+ attr_reader :event_year
48
+ attr_reader :total_donations
49
+ attr_reader :total_events
50
+ attr_reader :total_participants
51
+ attr_reader :total_shavees
52
+ attr_reader :mypage_url
53
+ attr_reader :default_photo_url
54
+ attr_reader :avatar_photo_url
44
55
  end
45
56
 
46
57
  class Campaign < SBF::Client::BaseEntity
47
- attr_reader :campaign_id, :slug, :name, :website, :disabled, :event_year, :total_donations, :total_events,
48
- :total_participants, :total_shavees, :mypage_url
58
+ attr_reader :campaign_id
59
+ attr_reader :slug
60
+ attr_reader :name
61
+ attr_reader :website
62
+ attr_reader :disabled
63
+ attr_reader :event_year
64
+ attr_reader :total_donations
65
+ attr_reader :total_events
66
+ attr_reader :total_participants
67
+ attr_reader :total_shavees
68
+ attr_reader :mypage_url
49
69
  end
50
70
 
51
71
  class Event < SBF::Client::BaseEntity
52
- attr_reader :venue_name, :event_title, :zip_code, :address1, :city, :state, :state_full, :country,
53
- :country_full, :address2, :event_access_type_id, :event_date, :event_year, :event_id,
54
- :is_website_allowed, :is_expired, :start_time, :end_time, :status_id, :website_url,
55
- :total_donations, :total_participants, :total_shavees, :icon, :mypage_url, :default_photo_url,
56
- :avatar_photo_url, :closed_roles
72
+ attr_reader :venue_name
73
+ attr_reader :event_title
74
+ attr_reader :zip_code
75
+ attr_reader :address1
76
+ attr_reader :city
77
+ attr_reader :state
78
+ attr_reader :state_full
79
+ attr_reader :country
80
+ attr_reader :country_full
81
+ attr_reader :address2
82
+ attr_reader :event_access_type_id
83
+ attr_reader :event_date
84
+ attr_reader :event_year
85
+ attr_reader :event_id
86
+ attr_reader :is_website_allowed
87
+ attr_reader :is_expired
88
+ attr_reader :start_time
89
+ attr_reader :end_time
90
+ attr_reader :status_id
91
+ attr_reader :website_url
92
+ attr_reader :total_donations
93
+ attr_reader :total_participants
94
+ attr_reader :total_shavees
95
+ attr_reader :icon
96
+ attr_reader :mypage_url
97
+ attr_reader :default_photo_url
98
+ attr_reader :avatar_photo_url
99
+ attr_reader :closed_roles
57
100
  end
58
101
 
59
102
  class Team < SBF::Client::BaseEntity
60
- attr_reader :team_name, :venue_name, :event_title, :zip_code, :address1, :city, :state, :state_full,
61
- :country_full, :country, :event_date, :event_id, :event_year, :event_status_id, :team_id,
62
- :is_website_allowed, :status_id, :total_donations, :total_participants, :total_shavees, :icon,
63
- :mypage_url, :default_photo_url, :avatar_photo_url
103
+ attr_reader :team_name
104
+ attr_reader :venue_name
105
+ attr_reader :event_title
106
+ attr_reader :zip_code
107
+ attr_reader :address1
108
+ attr_reader :city
109
+ attr_reader :state
110
+ attr_reader :state_full
111
+ attr_reader :country_full
112
+ attr_reader :country
113
+ attr_reader :event_date
114
+ attr_reader :event_id
115
+ attr_reader :event_year
116
+ attr_reader :event_status_id
117
+ attr_reader :team_id
118
+ attr_reader :is_website_allowed
119
+ attr_reader :status_id
120
+ attr_reader :total_donations
121
+ attr_reader :total_participants
122
+ attr_reader :total_shavees
123
+ attr_reader :icon
124
+ attr_reader :mypage_url
125
+ attr_reader :default_photo_url
126
+ attr_reader :avatar_photo_url
64
127
  end
65
128
 
66
129
  class Participant < SBF::Client::BaseEntity
67
- attr_reader :participant_id, :event_year, :raw_display_name, :display_name, :team_name, :venue_name,
68
- :event_title, :zip_code, :city, :state, :state_full, :participant_state, :participant_state_full,
69
- :country, :country_full, :participant_country, :participant_country_full, :event_date, :event_id,
70
- :is_website_allowed, :profile_id, :status_id, :event_status_id, :team_id,
71
- :virtual_participation_date, :total_donations, :icon, :mypage_url, :default_photo_url,
72
- :avatar_photo_url
130
+ attr_reader :participant_id
131
+ attr_reader :event_year
132
+ attr_reader :raw_display_name
133
+ attr_reader :display_name
134
+ attr_reader :team_name
135
+ attr_reader :venue_name
136
+ attr_reader :event_title
137
+ attr_reader :zip_code
138
+ attr_reader :city
139
+ attr_reader :state
140
+ attr_reader :state_full
141
+ attr_reader :participant_state
142
+ attr_reader :participant_state_full
143
+ attr_reader :country
144
+ attr_reader :country_full
145
+ attr_reader :participant_country
146
+ attr_reader :participant_country_full
147
+ attr_reader :event_date
148
+ attr_reader :event_id
149
+ attr_reader :is_website_allowed
150
+ attr_reader :profile_id
151
+ attr_reader :status_id
152
+ attr_reader :event_status_id
153
+ attr_reader :team_id
154
+ attr_reader :virtual_participation_date
155
+ attr_reader :total_donations
156
+ attr_reader :icon
157
+ attr_reader :mypage_url
158
+ attr_reader :default_photo_url
159
+ attr_reader :avatar_photo_url
73
160
  end
74
161
 
75
162
  class Fundraiser < SBF::Client::BaseEntity
76
- attr_reader :fundraiser_id, :event_year, :event_id, :event_status_id, :event_title, :team_id, :title,
77
- :status_id, :profile_id, :raw_display_name, :display_name, :start_date, :start_time, :end_date,
78
- :end_time, :zip_code, :venue_name, :team_name, :event_venue_name, :address1, :address2, :city,
79
- :state, :state_full, :country, :country_full, :total_donations, :icon, :mypage_url,
80
- :default_photo_url, :avatar_photo_url
163
+ attr_reader :fundraiser_id
164
+ attr_reader :event_year
165
+ attr_reader :event_id
166
+ attr_reader :event_status_id
167
+ attr_reader :event_title
168
+ attr_reader :team_id
169
+ attr_reader :title
170
+ attr_reader :status_id
171
+ attr_reader :profile_id
172
+ attr_reader :raw_display_name
173
+ attr_reader :display_name
174
+ attr_reader :start_date
175
+ attr_reader :start_time
176
+ attr_reader :end_date
177
+ attr_reader :end_time
178
+ attr_reader :zip_code
179
+ attr_reader :venue_name
180
+ attr_reader :team_name
181
+ attr_reader :event_venue_name
182
+ attr_reader :address1
183
+ attr_reader :address2
184
+ attr_reader :city
185
+ attr_reader :state
186
+ attr_reader :state_full
187
+ attr_reader :country
188
+ attr_reader :country_full
189
+ attr_reader :total_donations
190
+ attr_reader :icon
191
+ attr_reader :mypage_url
192
+ attr_reader :default_photo_url
193
+ attr_reader :avatar_photo_url
81
194
  end
82
195
 
83
196
  class Kid < SBF::Client::BaseEntity
84
- attr_reader :kid_id, :display_name, :city, :state, :state_full, :country_full, :country, :diagnosis_slug,
85
- :diagnosis_other, :status_id, :treatment_status_slug, :treatment_status_other, :mypage_url,
86
- :default_photo_url, :avatar_photo_url
197
+ attr_reader :kid_id
198
+ attr_reader :display_name
199
+ attr_reader :city
200
+ attr_reader :state
201
+ attr_reader :state_full
202
+ attr_reader :country_full
203
+ attr_reader :country
204
+ attr_reader :diagnosis_slug
205
+ attr_reader :diagnosis_other
206
+ attr_reader :status_id
207
+ attr_reader :treatment_status_slug
208
+ attr_reader :treatment_status_other
209
+ attr_reader :mypage_url
210
+ attr_reader :default_photo_url
211
+ attr_reader :avatar_photo_url
87
212
  end
88
213
 
89
214
  class Memorial < SBF::Client::BaseEntity
90
- attr_reader :memorial_id, :tribute_name, :display_name, :status_id, :city, :state, :state_full, :country_full,
91
- :country, :tribute_birthday, :tribute_date_of_passing, :expiration_date, :total_donations,
92
- :mypage_url, :default_photo_url, :avatar_photo_url
215
+ attr_reader :memorial_id
216
+ attr_reader :tribute_name
217
+ attr_reader :display_name
218
+ attr_reader :status_id
219
+ attr_reader :city
220
+ attr_reader :state
221
+ attr_reader :state_full
222
+ attr_reader :country_full
223
+ attr_reader :country
224
+ attr_reader :tribute_birthday
225
+ attr_reader :tribute_date_of_passing
226
+ attr_reader :expiration_date
227
+ attr_reader :total_donations
228
+ attr_reader :mypage_url
229
+ attr_reader :default_photo_url
230
+ attr_reader :avatar_photo_url
93
231
  end
94
232
  end
95
233
  end