stbaldricks 10.4.0.alpha.2 → 10.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stbaldricks/configuration.rb +4 -4
  3. data/lib/stbaldricks/endpoints/donation.rb +2 -2
  4. data/lib/stbaldricks/endpoints/lib/entity.rb +2 -2
  5. data/lib/stbaldricks/endpoints/photo.rb +1 -3
  6. data/lib/stbaldricks/entities/batch.rb +2 -2
  7. data/lib/stbaldricks/entities/challenge.rb +4 -4
  8. data/lib/stbaldricks/entities/challenger.rb +2 -2
  9. data/lib/stbaldricks/entities/challenger/model_type.rb +2 -0
  10. data/lib/stbaldricks/entities/concerns/entity_response_concern.rb +2 -4
  11. data/lib/stbaldricks/entities/config.rb +1 -1
  12. data/lib/stbaldricks/entities/contact.rb +1 -1
  13. data/lib/stbaldricks/entities/deduplicator_match.rb +5 -5
  14. data/lib/stbaldricks/entities/donation.rb +3 -3
  15. data/lib/stbaldricks/entities/donation/donor_type.rb +2 -0
  16. data/lib/stbaldricks/entities/donation/how_created.rb +2 -0
  17. data/lib/stbaldricks/entities/donation/payment_gateway.rb +2 -0
  18. data/lib/stbaldricks/entities/donation/payment_type.rb +2 -0
  19. data/lib/stbaldricks/entities/donation/promo_code.rb +19 -5
  20. data/lib/stbaldricks/entities/donation/recipient_type.rb +2 -0
  21. data/lib/stbaldricks/entities/donation/special_donation_type.rb +2 -0
  22. data/lib/stbaldricks/entities/donation/status.rb +2 -0
  23. data/lib/stbaldricks/entities/donation/submitter_type.rb +2 -0
  24. data/lib/stbaldricks/entities/event.rb +10 -14
  25. data/lib/stbaldricks/entities/event/fund_relationship_type.rb +2 -0
  26. data/lib/stbaldricks/entities/event/how_created.rb +2 -0
  27. data/lib/stbaldricks/entities/event/promo_code.rb +2 -0
  28. data/lib/stbaldricks/entities/event/status.rb +2 -0
  29. data/lib/stbaldricks/entities/event/sub_type.rb +2 -0
  30. data/lib/stbaldricks/entities/event/type.rb +2 -0
  31. data/lib/stbaldricks/entities/event_application/model_type.rb +2 -0
  32. data/lib/stbaldricks/entities/event_application/status.rb +2 -0
  33. data/lib/stbaldricks/entities/fund.rb +1 -2
  34. data/lib/stbaldricks/entities/fundraiser.rb +21 -25
  35. data/lib/stbaldricks/entities/international_partner.rb +2 -2
  36. data/lib/stbaldricks/entities/kid.rb +62 -62
  37. data/lib/stbaldricks/entities/kid_honor.rb +4 -4
  38. data/lib/stbaldricks/entities/lib/address.rb +2 -2
  39. data/lib/stbaldricks/entities/lib/alternate_shipping_address.rb +2 -2
  40. data/lib/stbaldricks/entities/lib/base.rb +24 -27
  41. data/lib/stbaldricks/entities/lib/cacheable.rb +1 -3
  42. data/lib/stbaldricks/entities/lib/collection.rb +2 -2
  43. data/lib/stbaldricks/entities/lib/email_address.rb +2 -2
  44. data/lib/stbaldricks/entities/lib/fundraising_page.rb +1 -1
  45. data/lib/stbaldricks/entities/lib/not_implemented_object.rb +4 -4
  46. data/lib/stbaldricks/entities/lib/payment.rb +14 -14
  47. data/lib/stbaldricks/entities/lib/phone.rb +3 -3
  48. data/lib/stbaldricks/entities/lib/third_party_media.rb +2 -2
  49. data/lib/stbaldricks/entities/lib/top_level.rb +4 -4
  50. data/lib/stbaldricks/entities/memorial.rb +3 -4
  51. data/lib/stbaldricks/entities/message.rb +8 -8
  52. data/lib/stbaldricks/entities/organization.rb +21 -21
  53. data/lib/stbaldricks/entities/page.rb +4 -6
  54. data/lib/stbaldricks/entities/participant.rb +58 -61
  55. data/lib/stbaldricks/entities/person.rb +97 -98
  56. data/lib/stbaldricks/entities/photo.rb +26 -26
  57. data/lib/stbaldricks/entities/recurring_gift.rb +18 -18
  58. data/lib/stbaldricks/entities/search.rb +8 -8
  59. data/lib/stbaldricks/entities/shave_schedule.rb +2 -2
  60. data/lib/stbaldricks/entities/team.rb +15 -18
  61. data/lib/stbaldricks/entities/user.rb +7 -5
  62. data/lib/stbaldricks/enums/cancer_types.rb +2 -0
  63. data/lib/stbaldricks/enums/country.rb +2 -0
  64. data/lib/stbaldricks/enums/league_status.rb +2 -0
  65. data/lib/stbaldricks/enums/model_type.rb +2 -0
  66. data/lib/stbaldricks/enums/permission.rb +8 -8
  67. data/lib/stbaldricks/enums/permission_model_type.rb +2 -0
  68. data/lib/stbaldricks/enums/province.rb +2 -0
  69. data/lib/stbaldricks/enums/state.rb +2 -0
  70. data/lib/stbaldricks/enums/top_level_category_type.rb +2 -0
  71. data/lib/stbaldricks/log.rb +3 -1
  72. data/lib/stbaldricks/patches/hash.rb +2 -2
  73. data/lib/stbaldricks/patches/string.rb +1 -1
  74. data/lib/stbaldricks/request.rb +3 -3
  75. data/lib/stbaldricks/version.rb +1 -1
  76. data/lib/stbaldricks_factories.rb +1 -1
  77. data/spec/factories/challenger.rb +2 -2
  78. data/spec/factories/kid.rb +3 -3
  79. data/spec/factories/kid_institution.rb +2 -2
  80. data/spec/factories/team.rb +2 -2
  81. metadata +88 -88
@@ -89,38 +89,38 @@ module SBF
89
89
  attr_reader :original_filename
90
90
 
91
91
  def to_json(*a)
92
- to_hash.reject { |k, _v| [:file, :filename].include? k }.to_json(*a)
92
+ to_hash.reject { |k, _v| %i(file filename).include? k }.to_json(*a)
93
93
  end
94
94
 
95
95
  module Category
96
- SHAVEE_AFTER = 'shavee_after'
97
- SHAVEE_BEFORE = 'shavee_before'
98
- KID = 'kid'
99
- PARTICIPANT = 'participant'
100
- TEAM_LOGO = 'team_logo'
101
- VENUE_LOGO = 'venue_logo'
102
- USER_AVATAR = 'user_avatar'
103
- GALLERY = 'gallery'
104
- DEFAULT_PHOTO = 'default_photo'
105
- CAMPAIGN_LOGO = 'campaign_logo'
106
- FUND_LOGO = 'fund_logo'
107
- FUNDRAISER_LOGO = 'fundraiser_logo'
108
- EVENT_SUPPORTER_LOGO = 'event_supporter_logo'
109
- MEMORIAL = 'memorial'
110
- COVER_ORIGINAL = 'cover_original'
111
- COVER_DEFAULT = 'cover_default'
96
+ SHAVEE_AFTER = 'shavee_after'.freeze
97
+ SHAVEE_BEFORE = 'shavee_before'.freeze
98
+ KID = 'kid'.freeze
99
+ PARTICIPANT = 'participant'.freeze
100
+ TEAM_LOGO = 'team_logo'.freeze
101
+ VENUE_LOGO = 'venue_logo'.freeze
102
+ USER_AVATAR = 'user_avatar'.freeze
103
+ GALLERY = 'gallery'.freeze
104
+ DEFAULT_PHOTO = 'default_photo'.freeze
105
+ CAMPAIGN_LOGO = 'campaign_logo'.freeze
106
+ FUND_LOGO = 'fund_logo'.freeze
107
+ FUNDRAISER_LOGO = 'fundraiser_logo'.freeze
108
+ EVENT_SUPPORTER_LOGO = 'event_supporter_logo'.freeze
109
+ MEMORIAL = 'memorial'.freeze
110
+ COVER_ORIGINAL = 'cover_original'.freeze
111
+ COVER_DEFAULT = 'cover_default'.freeze
112
112
  end
113
113
 
114
114
  module ModelType
115
- EVENT = 'event'
116
- TEAM = 'team'
117
- PARTICIPANT = 'participant'
118
- FUNDRAISER = 'fundraiser'
119
- KID = 'kid'
120
- FUND = 'fund'
121
- CAMPAIGN = 'campaign'
122
- EVENT_SUPPORTER = 'event_supporter'
123
- MEMORIAL = 'memorial'
115
+ EVENT = 'event'.freeze
116
+ TEAM = 'team'.freeze
117
+ PARTICIPANT = 'participant'.freeze
118
+ FUNDRAISER = 'fundraiser'.freeze
119
+ KID = 'kid'.freeze
120
+ FUND = 'fund'.freeze
121
+ CAMPAIGN = 'campaign'.freeze
122
+ EVENT_SUPPORTER = 'event_supporter'.freeze
123
+ MEMORIAL = 'memorial'.freeze
124
124
  end
125
125
 
126
126
  class FullParticipant < SBF::Client::FullParticipant
@@ -28,31 +28,31 @@ module SBF
28
28
  attr_accessor :id
29
29
 
30
30
  module Status
31
- UNKNOWN = 'unknown'
32
- PAST_DUE = 'past_due'
33
- ACTIVE = 'active'
34
- CANCELED = 'canceled'
35
- PENDING = 'pending'
31
+ UNKNOWN = 'unknown'.freeze
32
+ PAST_DUE = 'past_due'.freeze
33
+ ACTIVE = 'active'.freeze
34
+ CANCELED = 'canceled'.freeze
35
+ PENDING = 'pending'.freeze
36
36
  end
37
37
 
38
38
  module RecipientType
39
- FUND = 'fund'
40
- EVENT = 'event'
41
- TEAM = 'team'
42
- PARTICIPANT = 'participant'
43
- FUNDRAISER = 'fundraiser'
44
- MEMORIAL = 'memorial'
39
+ FUND = 'fund'.freeze
40
+ EVENT = 'event'.freeze
41
+ TEAM = 'team'.freeze
42
+ PARTICIPANT = 'participant'.freeze
43
+ FUNDRAISER = 'fundraiser'.freeze
44
+ MEMORIAL = 'memorial'.freeze
45
45
  end
46
46
 
47
47
  module DonorType
48
- INDIVIDUAL = 'individual'
49
- BUSINESS = 'business'
50
- ORGANIZATION_FOUNDATION = 'foundation'
48
+ INDIVIDUAL = 'individual'.freeze
49
+ BUSINESS = 'business'.freeze
50
+ ORGANIZATION_FOUNDATION = 'foundation'.freeze
51
51
  end
52
52
 
53
53
  module FundingType
54
- CREDIT_CARD = 'credit_card'
55
- PAYPAL = 'paypal'
54
+ CREDIT_CARD = 'credit_card'.freeze
55
+ PAYPAL = 'paypal'.freeze
56
56
  end
57
57
 
58
58
  class FullParticipant < SBF::Client::FullParticipant
@@ -169,8 +169,8 @@ module SBF
169
169
  entity_attr_accessor :name_pieces, 'SBF::Client::NamePieces'
170
170
 
171
171
  module Type
172
- HONOR = 'honor'
173
- MEMORY = 'memory'
172
+ HONOR = 'honor'.freeze
173
+ MEMORY = 'memory'.freeze
174
174
  end
175
175
  end
176
176
  end
@@ -8,14 +8,14 @@ module SBF
8
8
  action :find
9
9
 
10
10
  module Type
11
- FUND = 'fund'
12
- CAMPAIGN = 'campaign'
13
- EVENT = 'event'
14
- TEAM = 'team'
15
- PARTICIPANT = 'participant'
16
- FUNDRAISER = 'fundraiser'
17
- KID = 'kid'
18
- MEMORIAL = 'memorial'
11
+ FUND = 'fund'.freeze
12
+ CAMPAIGN = 'campaign'.freeze
13
+ EVENT = 'event'.freeze
14
+ TEAM = 'team'.freeze
15
+ PARTICIPANT = 'participant'.freeze
16
+ FUNDRAISER = 'fundraiser'.freeze
17
+ KID = 'kid'.freeze
18
+ MEMORIAL = 'memorial'.freeze
19
19
  end
20
20
 
21
21
  module Status
@@ -27,8 +27,8 @@ module SBF
27
27
 
28
28
  class ShaveScheduleAssignment < SBF::Client::BaseEntity
29
29
  module Type
30
- RESERVED = 'reserved'
31
- SHAVEE = 'shavee'
30
+ RESERVED = 'reserved'.freeze
31
+ SHAVEE = 'shavee'.freeze
32
32
  end
33
33
 
34
34
  attr_accessor :id
@@ -12,10 +12,7 @@ require 'stbaldricks/entities/concerns/fundraising_page_concern'
12
12
  module SBF
13
13
  module Client
14
14
  class Team < SBF::Client::TopLevelEntity
15
- include Entities::DefaultCacheable
16
- include DonationRecipientConcern
17
- include EventYearConcern
18
- include FundraisingPageConcern
15
+ include FundraisingPageConcern, EventYearConcern, DonationRecipientConcern, Entities::DefaultCacheable
19
16
  actions DEFAULT_CRUD_ACTIONS
20
17
 
21
18
  blacklist_action :create
@@ -23,26 +20,26 @@ module SBF
23
20
  disallow_instantiation
24
21
 
25
22
  module Status
26
- ACTIVE = 'active'
27
- PENDING = 'pending'
28
- SUSPENDED = 'suspended'
23
+ ACTIVE = 'active'.freeze
24
+ PENDING = 'pending'.freeze
25
+ SUSPENDED = 'suspended'.freeze
29
26
  end
30
27
 
31
28
  module HowCreated
32
- WEBSITE = 'website'
33
- ADMIN_IMPORT = 'admin_import'
34
- ADMIN_CONTROL_PANEL = 'admin_control_panel'
35
- MOBILE = 'mobile'
36
- PARTICIPANT_IMPORT = 'participant_import'
29
+ WEBSITE = 'website'.freeze
30
+ ADMIN_IMPORT = 'admin_import'.freeze
31
+ ADMIN_CONTROL_PANEL = 'admin_control_panel'.freeze
32
+ MOBILE = 'mobile'.freeze
33
+ PARTICIPANT_IMPORT = 'participant_import'.freeze
37
34
  end
38
35
 
39
36
  module FundRelationshipType
40
- NO_ASSOCIATION = 'no_association'
41
- INDIRECT_ONE = 'indirect_one'
42
- INDIRECT_MULTIPLE = 'indirect_multiple'
43
- DIRECT = 'direct'
44
- DIRECT_BUT_LOCKED = 'direct_but_locked'
45
- INHERITED_FROM_EVENT = 'inherited_from_event'
37
+ NO_ASSOCIATION = 'no_association'.freeze
38
+ INDIRECT_ONE = 'indirect_one'.freeze
39
+ INDIRECT_MULTIPLE = 'indirect_multiple'.freeze
40
+ DIRECT = 'direct'.freeze
41
+ DIRECT_BUT_LOCKED = 'direct_but_locked'.freeze
42
+ INHERITED_FROM_EVENT = 'inherited_from_event'.freeze
46
43
  end
47
44
 
48
45
  class Photos < SBF::Client::BaseEntity
@@ -20,20 +20,22 @@ module SBF
20
20
  cache_id_from_hash ->(h) { [h[:person][:id], h[:type]] }
21
21
 
22
22
  module AccessScope
23
- ADMIN = 'admin'
24
- MEMBER = 'member'
23
+ ADMIN = 'admin'.freeze
24
+ MEMBER = 'member'.freeze
25
25
  end
26
26
 
27
27
  module ProviderType
28
- SBF = 'sbf'
29
- FACEBOOK = 'facebook'
30
- TWITTER = 'twitter'
28
+ SBF = 'sbf'.freeze
29
+ FACEBOOK = 'facebook'.freeze
30
+ TWITTER = 'twitter'.freeze
31
31
 
32
+ # rubocop:disable Style/MutableConstant
32
33
  IDS = {
33
34
  SBF => 1,
34
35
  FACEBOOK => 2,
35
36
  TWITTER => 3
36
37
  }
38
+ # rubocop:enable Style/MutableConstant
37
39
  IDS.default = 0
38
40
  IDS.freeze
39
41
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SBF
2
4
  module Client
3
5
  module CancerType
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SBF
2
4
  module Client
3
5
  module Country
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SBF
2
4
  module Client
3
5
  module LeagueStatus
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SBF
2
4
  module Client
3
5
  module ModelType
@@ -18,7 +18,7 @@ module SBF
18
18
 
19
19
  MANAGE_SYSTEM = 109
20
20
 
21
- #Event permissions
21
+ # Event permissions
22
22
  EVENT_MANAGE = 200
23
23
  EVENT_MANAGE_INFO = 201
24
24
  EVENT_MANAGE_ACTIVITIES = 202
@@ -42,7 +42,7 @@ module SBF
42
42
  EVENT_FAST_REGISTRATION = 220
43
43
  EVENT_DELETE_EVENT = 221
44
44
 
45
- #text descriptions found in LookupUtility
45
+ # text descriptions found in LookupUtility
46
46
  EVENT_MEMBER_UPDATE_EVENT_INFORMATION = 300
47
47
  EVENT_MEMBER_ACTIVITIES = 301
48
48
  EVENT_MEMBER_PHOTO_GALLERY = 302
@@ -60,7 +60,7 @@ module SBF
60
60
  EVENT_MEMBER_COMMUNICATE = 315
61
61
  EVENT_MEMBER_FAST_DONATION = 316
62
62
 
63
- #Participant Role Permissions
63
+ # Participant Role Permissions
64
64
  EVENT_ORGANIZER = 1905
65
65
  EVENT_BARBER_COORDINATOR = 1911
66
66
  EVENT_SHAVEE_RECRUITER = 1913
@@ -115,7 +115,7 @@ module SBF
115
115
 
116
116
  EVENT_APPLICATION_MANAGE = 2202
117
117
 
118
- #Team Permissions
118
+ # Team Permissions
119
119
  TEAM_TEAM_CAPTAIN = 2101
120
120
 
121
121
  # Memorial Permissions
@@ -140,7 +140,7 @@ module SBF
140
140
  DELETE_GROUPS => :DELETE_GROUPS,
141
141
  EDIT_GROUPS => :EDIT_GROUPS,
142
142
  MANAGE_SYSTEM => :MANAGE_SYSTEM,
143
- #Event permissions
143
+ # Event permissions
144
144
  EVENT_MANAGE => :EVENT_MANAGE,
145
145
  EVENT_MANAGE_INFO => :EVENT_MANAGE_INFO,
146
146
  EVENT_MANAGE_ACTIVITIES => :EVENT_MANAGE_ACTIVITIES,
@@ -179,7 +179,7 @@ module SBF
179
179
  EVENT_MEMBER_VIEW_TEAM_TOTALS_LIST => :EVENT_MEMBER_VIEW_TEAM_TOTALS_LIST,
180
180
  EVENT_MEMBER_COMMUNICATE => :EVENT_MEMBER_COMMUNICATE,
181
181
  EVENT_MEMBER_FAST_DONATION => :EVENT_MEMBER_FAST_DONATION,
182
- #Participant Role Permissions
182
+ # Participant Role Permissions
183
183
  EVENT_ORGANIZER => :EVENT_ORGANIZER,
184
184
  EVENT_BARBER_COORDINATOR => :EVENT_BARBER_COORDINATOR,
185
185
  EVENT_SHAVEE_RECRUITER => :EVENT_SHAVEE_RECRUITER,
@@ -211,9 +211,9 @@ module SBF
211
211
  FUNDRAISER_MANAGE => :FUNDRAISER_MANAGE,
212
212
  FUNDRAISER_DELETE_FUNDRAISER => :FUNDRAISER_DELETE_FUNDRAISER,
213
213
  EVENT_APPLICATION_MANAGE => :EVENT_APPLICATION_MANAGE,
214
- #Team Permissions
214
+ # Team Permissions
215
215
  TEAM_TEAM_CAPTAIN => :TEAM_TEAM_CAPTAIN,
216
- #Memorial Permissions
216
+ # Memorial Permissions
217
217
  MEMORIAL_VIEW => :MEMORIAL_VIEW,
218
218
  MEMORIAL_MANAGE => :MEMORIAL_MANAGE,
219
219
  # Challenge Permissions
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SBF
2
4
  module Client
3
5
  module PermissionModelType
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SBF
2
4
  module Client
3
5
  module Province
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SBF
2
4
  module Client
3
5
  module State
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SBF
2
4
  module Client
3
5
  module TopLevelCategoryType
@@ -6,7 +6,9 @@ module SBF
6
6
  class LOG
7
7
  include Singleton
8
8
 
9
- REQUIRED_METHODS = [:debug, :info, :warn, :error, :fatal, :unknown, :add, :level]
9
+ # rubocop:disable Style/MutableConstant
10
+ REQUIRED_METHODS = %i(debug info warn error fatal unknown add level)
11
+ # rubocop:enable Style/MutableConstant
10
12
 
11
13
  # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
12
14
  def self.method_missing(sym, *args, &block)
@@ -3,9 +3,9 @@ class Hash
3
3
  keys.each do |key|
4
4
  unless key.is_a? Symbol
5
5
  value = delete(key)
6
- # rubocop:disable RescueModifier
6
+ # rubocop:disable Style/RescueModifier
7
7
  self[(key.to_sym rescue key) || key] = value
8
- # rubocop:enable RescueModifier
8
+ # rubocop:enable Style/RescueModifier
9
9
  end
10
10
 
11
11
  value.symbolize! if value.is_a?(Hash) || value.is_a?(Array)
@@ -5,7 +5,7 @@ class String
5
5
  ID_REGEX = Regexp.new('(^|_)i_d')
6
6
  UUID_REGEX = Regexp.new('(^|_)u_u_id')
7
7
  URL_REGEX = Regexp.new('(^|_)u_r_l')
8
- MODULE_SEPARATOR = '::'
8
+ MODULE_SEPARATOR = '::'.freeze
9
9
 
10
10
  def camel_case
11
11
  x = split('_').map do |e|
@@ -7,15 +7,15 @@ require 'uri'
7
7
 
8
8
  # Require all monkey patches
9
9
  patch_dir = File.realpath("#{File.dirname(__FILE__)}/patches/")
10
- Dir["#{patch_dir}/*.rb"].each { |file| require file }
10
+ Dir["#{patch_dir}/*.rb"].sort.each { |file| require file }
11
11
 
12
12
  # Require all entities
13
13
  entity_dir = File.realpath("#{File.dirname(__FILE__)}/entities/")
14
- Dir["#{entity_dir}/**/*.rb"].each { |file| require file }
14
+ Dir["#{entity_dir}/**/*.rb"].sort.each { |file| require file }
15
15
 
16
16
  # Require all enums
17
17
  enum_dir = File.realpath("#{File.dirname(__FILE__)}/enums/")
18
- Dir["#{enum_dir}/*.rb"].each { |file| require file }
18
+ Dir["#{enum_dir}/*.rb"].sort.each { |file| require file }
19
19
 
20
20
  # Client library class for accessing the St. Baldrick's Foundation API
21
21
  module SBF
@@ -1,5 +1,5 @@
1
1
  module SBF
2
2
  module Client
3
- VERSION = '10.4.0.alpha.2'
3
+ VERSION = '10.6.1'.freeze
4
4
  end
5
5
  end
@@ -2,4 +2,4 @@ require 'stbaldricks'
2
2
 
3
3
  project_root = File.realpath("#{File.dirname(__FILE__)}/../")
4
4
  $LOAD_PATH.unshift(project_root)
5
- Dir["#{project_root}/spec/factories/**/*.rb"].each { |file| require file }
5
+ Dir["#{project_root}/spec/factories/**/*.rb"].sort.each { |file| require file }
@@ -2,9 +2,9 @@ require_relative 'lib/helpers'
2
2
 
3
3
  FactoryBot.define do
4
4
  factory :_base_challenger, class: SBF::Client::Challenger do
5
- to_create { |it|
5
+ to_create do |it|
6
6
  raise "Failed to create #{it.class}: #{it.errors.details}" unless it.save
7
- }
7
+ end
8
8
 
9
9
  initialize_with do
10
10
  new(attributes)
@@ -2,10 +2,10 @@ require_relative 'lib/helpers'
2
2
 
3
3
  FactoryBot.define do
4
4
  factory :kid, class: SBF::Client::FullKid do
5
- to_create { |it|
5
+ to_create do |it|
6
6
  it.relationships.first.person = FactoryBot.create(:person) if it.relationships.first.person.nil?
7
7
  raise "Failed to create #{it.class}: #{it.errors.details}" unless it.save
8
- }
8
+ end
9
9
 
10
10
  initialize_with do
11
11
  new(attributes)
@@ -19,7 +19,7 @@ FactoryBot.define do
19
19
  after :build do |kid, evaluator|
20
20
  kid.name_pieces = build(:name_pieces) if unpopulated?(evaluator, :name_pieces)
21
21
  kid.address = build(:address) if unpopulated?(evaluator, :address)
22
- kid.diagnosis = build(:diagnosis) if unpopulated?(evaluator, :diagnosis)
22
+ kid.diagnosis = build(:diagnosis, date: Faker::Date.between(from: kid.birthday, to: DateTime.now).to_s) if unpopulated?(evaluator, :diagnosis)
23
23
  kid.treatment_status = build(:treatment_status) if unpopulated?(evaluator, :treatment_status)
24
24
  kid.web_page = build(:web_page) if unpopulated?(evaluator, :web_page)
25
25
  kid.photos = build(:photos) if unpopulated?(evaluator, :photos)