stackone_client 0.0.2 → 0.0.3

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stackone/models/operations/ats_get_application.rb +12 -2
  3. data/lib/stackone/models/operations/ats_get_application_offer.rb +12 -2
  4. data/lib/stackone/models/operations/ats_get_application_scorecard.rb +12 -2
  5. data/lib/stackone/models/operations/ats_get_candidate.rb +12 -2
  6. data/lib/stackone/models/operations/ats_get_candidate_note.rb +12 -2
  7. data/lib/stackone/models/operations/ats_get_department.rb +12 -2
  8. data/lib/stackone/models/operations/ats_get_interview.rb +12 -2
  9. data/lib/stackone/models/operations/ats_get_interview_stage.rb +12 -2
  10. data/lib/stackone/models/operations/ats_get_job.rb +12 -2
  11. data/lib/stackone/models/operations/ats_get_job_posting.rb +12 -2
  12. data/lib/stackone/models/operations/ats_get_location.rb +12 -2
  13. data/lib/stackone/models/operations/ats_get_offer.rb +12 -2
  14. data/lib/stackone/models/operations/ats_get_rejected_reason.rb +12 -2
  15. data/lib/stackone/models/operations/ats_get_user.rb +12 -2
  16. data/lib/stackone/models/operations/ats_list_application_scorecards.rb +12 -2
  17. data/lib/stackone/models/operations/ats_list_applications.rb +12 -2
  18. data/lib/stackone/models/operations/ats_list_applications_offers.rb +12 -2
  19. data/lib/stackone/models/operations/ats_list_candidate_notes.rb +12 -2
  20. data/lib/stackone/models/operations/ats_list_candidates.rb +12 -2
  21. data/lib/stackone/models/operations/ats_list_departments.rb +12 -2
  22. data/lib/stackone/models/operations/ats_list_interview_stages.rb +12 -2
  23. data/lib/stackone/models/operations/ats_list_interviews.rb +12 -2
  24. data/lib/stackone/models/operations/ats_list_job_postings.rb +12 -2
  25. data/lib/stackone/models/operations/ats_list_jobs.rb +12 -2
  26. data/lib/stackone/models/operations/ats_list_locations.rb +12 -2
  27. data/lib/stackone/models/operations/ats_list_offers.rb +12 -2
  28. data/lib/stackone/models/operations/ats_list_rejected_reasons.rb +12 -2
  29. data/lib/stackone/models/operations/ats_list_users.rb +12 -2
  30. data/lib/stackone/models/operations/crm_get_account.rb +12 -2
  31. data/lib/stackone/models/operations/crm_get_contact.rb +12 -2
  32. data/lib/stackone/models/operations/crm_get_list.rb +12 -2
  33. data/lib/stackone/models/operations/crm_list_accounts.rb +12 -2
  34. data/lib/stackone/models/operations/crm_list_contacts.rb +12 -2
  35. data/lib/stackone/models/operations/crm_list_lists.rb +12 -2
  36. data/lib/stackone/models/operations/hris_get_company.rb +12 -2
  37. data/lib/stackone/models/operations/hris_get_employee.rb +12 -2
  38. data/lib/stackone/models/operations/hris_get_employee_document.rb +12 -2
  39. data/lib/stackone/models/operations/hris_get_employees_time_off_request.rb +12 -2
  40. data/lib/stackone/models/operations/hris_get_employment.rb +12 -2
  41. data/lib/stackone/models/operations/hris_get_location.rb +12 -2
  42. data/lib/stackone/models/operations/hris_get_time_off_request.rb +12 -2
  43. data/lib/stackone/models/operations/hris_list_companies.rb +12 -2
  44. data/lib/stackone/models/operations/hris_list_employee_documents.rb +12 -2
  45. data/lib/stackone/models/operations/hris_list_employee_time_off_requests.rb +12 -2
  46. data/lib/stackone/models/operations/hris_list_employees.rb +12 -2
  47. data/lib/stackone/models/operations/hris_list_employments.rb +12 -2
  48. data/lib/stackone/models/operations/hris_list_locations.rb +12 -2
  49. data/lib/stackone/models/operations/hris_list_time_off_requests.rb +12 -2
  50. data/lib/stackone/models/operations/marketing_get_campaign.rb +12 -2
  51. data/lib/stackone/models/operations/marketing_get_email_template.rb +12 -2
  52. data/lib/stackone/models/operations/marketing_get_omni_channel_template.rb +12 -2
  53. data/lib/stackone/models/operations/marketing_get_push_template.rb +12 -2
  54. data/lib/stackone/models/operations/marketing_list_campaigns.rb +12 -2
  55. data/lib/stackone/models/operations/marketing_list_email_templates.rb +12 -2
  56. data/lib/stackone/models/operations/marketing_list_omni_channel_templates.rb +12 -2
  57. data/lib/stackone/models/operations/marketing_list_push_templates.rb +12 -2
  58. data/lib/stackone/models/shared/accountaddress.rb +6 -6
  59. data/lib/stackone/models/shared/answer.rb +7 -7
  60. data/lib/stackone/models/shared/application.rb +92 -9
  61. data/lib/stackone/models/shared/applicationattachment.rb +2 -2
  62. data/lib/stackone/models/shared/atscreateapplicationrequestdto.rb +65 -8
  63. data/lib/stackone/models/shared/atscreatecandidaterequestdto.rb +15 -15
  64. data/lib/stackone/models/shared/atscreatenotesrequestdto.rb +7 -7
  65. data/lib/stackone/models/shared/atscreateofferrequestdto.rb +41 -10
  66. data/lib/stackone/models/shared/atslocation.rb +3 -3
  67. data/lib/stackone/models/shared/atsupdateapplicationrequestdto.rb +62 -5
  68. data/lib/stackone/models/shared/attachmenttype.rb +5 -5
  69. data/lib/stackone/models/shared/campaign.rb +11 -11
  70. data/lib/stackone/models/shared/candidate.rb +25 -25
  71. data/lib/stackone/models/shared/candidateemail.rb +3 -3
  72. data/lib/stackone/models/shared/channelsenum.rb +3 -3
  73. data/lib/stackone/models/shared/connectsession.rb +5 -5
  74. data/lib/stackone/models/shared/connectsessiontoken.rb +5 -5
  75. data/lib/stackone/models/shared/content.rb +9 -8
  76. data/lib/stackone/models/shared/costcenters.rb +25 -0
  77. data/lib/stackone/models/shared/countrycodeenum.rb +4 -4
  78. data/lib/stackone/models/shared/createtimeoffresult.rb +4 -4
  79. data/lib/stackone/models/shared/department.rb +3 -3
  80. data/lib/stackone/models/shared/documentfileformatenum.rb +40 -0
  81. data/lib/stackone/models/shared/documenttypeenum.rb +3 -3
  82. data/lib/stackone/models/shared/emailmessages.rb +10 -10
  83. data/lib/stackone/models/shared/employee.rb +48 -35
  84. data/lib/stackone/models/shared/employeecustomfields.rb +3 -3
  85. data/lib/stackone/models/shared/employment.rb +25 -18
  86. data/lib/stackone/models/shared/hriscreateemployeerequestdto.rb +40 -33
  87. data/lib/stackone/models/shared/hriscreatetimeoffrequestdto.rb +6 -6
  88. data/lib/stackone/models/shared/hrislocation.rb +7 -7
  89. data/lib/stackone/models/shared/interview.rb +46 -20
  90. data/lib/stackone/models/shared/interviewer.rb +6 -6
  91. data/lib/stackone/models/shared/interviewstage.rb +7 -7
  92. data/lib/stackone/models/shared/job.rb +49 -18
  93. data/lib/stackone/models/shared/{hiringteam.rb → jobhiringteam.rb} +1 -1
  94. data/lib/stackone/models/shared/jobposting.rb +21 -14
  95. data/lib/stackone/models/shared/{compensation.rb → jobpostingcompensation.rb} +23 -23
  96. data/lib/stackone/models/shared/{location.rb → jobpostinglocation.rb} +1 -1
  97. data/lib/stackone/models/shared/jobpostingquestionnaire.rb +34 -0
  98. data/lib/stackone/models/shared/list.rb +3 -3
  99. data/lib/stackone/models/shared/message.rb +7 -7
  100. data/lib/stackone/models/shared/note.rb +7 -7
  101. data/lib/stackone/models/shared/offer.rb +43 -12
  102. data/lib/stackone/models/shared/offerhistory.rb +5 -5
  103. data/lib/stackone/models/shared/pushmessages.rb +5 -5
  104. data/lib/stackone/models/shared/question.rb +73 -0
  105. data/lib/stackone/models/shared/questionmultiplechoiceanswers.rb +28 -0
  106. data/lib/stackone/models/shared/questionnaire.rb +2 -2
  107. data/lib/stackone/models/shared/rejectedreason.rb +33 -5
  108. data/lib/stackone/models/shared/sociallink.rb +3 -3
  109. data/lib/stackone/models/shared/timeoff.rb +6 -6
  110. data/lib/stackone/models/shared/user.rb +8 -8
  111. data/lib/stackone/sdkconfiguration.rb +3 -3
  112. data/lib/stackone_client.rb +9 -9
  113. metadata +10 -10
  114. data/lib/stackone/models/shared/applicationcandidate.rb +0 -31
  115. data/lib/stackone/models/shared/applicationstatusenumapimodel.rb +0 -50
  116. data/lib/stackone/models/shared/jobstatusenum.rb +0 -43
  117. data/lib/stackone/models/shared/offerstatusenum.rb +0 -43
  118. data/lib/stackone/models/shared/rejectedreasontypeenum.rb +0 -40
@@ -5,36 +5,67 @@
5
5
 
6
6
  require 'sorbet-runtime'
7
7
  require 'faraday'
8
- require_relative '../shared/offerstatusenum'
9
8
 
10
9
  module StackOne
11
10
  module Shared
11
+ # AtsCreateOfferRequestDtoValue - The status of the offer.
12
+ class AtsCreateOfferRequestDtoValue < T::Enum
13
+ enums do
14
+ PENDING = new('pending')
15
+ RETRACTED = new('retracted')
16
+ ACCEPTED = new('accepted')
17
+ REJECTED = new('rejected')
18
+ CREATED = new('created')
19
+ APPROVED = new('approved')
20
+ NOT_APPROVED = new('not_approved')
21
+ UNMAPPED_VALUE = new('unmapped_value')
22
+ end
23
+ end
12
24
 
13
- class AtsCreateOfferRequestDto < ::StackOne::Utils::FieldAugmented
25
+
26
+
27
+ class OfferStatus < ::StackOne::Utils::FieldAugmented
14
28
  extend T::Sig
15
29
 
30
+ # The source value of the offer status.
31
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
32
+ # The status of the offer.
33
+ field :value, T.nilable(Shared::AtsCreateOfferRequestDtoValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::AtsCreateOfferRequestDtoValue, true) } }
16
34
 
17
- field :application_id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('application_id') } }
18
35
 
19
- field :offer_status, Shared::OfferStatusEnum, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('offer_status') } }
20
- # Date of creation
21
- field :start_date, DateTime, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(false) } }
36
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::AtsCreateOfferRequestDtoValue)).void }
37
+ def initialize(source_value: nil, value: nil)
38
+ @source_value = source_value
39
+ @value = value
40
+ end
41
+ end
42
+
43
+
44
+ class AtsCreateOfferRequestDto < ::StackOne::Utils::FieldAugmented
45
+ extend T::Sig
46
+
47
+
48
+ field :application_id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('application_id') } }
22
49
 
23
50
  field :currency, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('currency') } }
24
51
 
25
52
  field :offer_history, T.nilable(T::Array[Shared::OfferHistory]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('offer_history') } }
26
53
 
54
+ field :offer_status, T.nilable(Shared::OfferStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('offer_status') } }
55
+
27
56
  field :salary, T.nilable(Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('salary') } }
57
+ # Date of creation
58
+ field :start_date, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
28
59
 
29
60
 
30
- sig { params(application_id: String, offer_status: Shared::OfferStatusEnum, start_date: DateTime, currency: T.nilable(String), offer_history: T.nilable(T::Array[Shared::OfferHistory]), salary: T.nilable(Float)).void }
31
- def initialize(application_id: nil, offer_status: nil, start_date: nil, currency: nil, offer_history: nil, salary: nil)
61
+ sig { params(application_id: T.nilable(String), currency: T.nilable(String), offer_history: T.nilable(T::Array[Shared::OfferHistory]), offer_status: T.nilable(Shared::OfferStatus), salary: T.nilable(Float), start_date: T.nilable(DateTime)).void }
62
+ def initialize(application_id: nil, currency: nil, offer_history: nil, offer_status: nil, salary: nil, start_date: nil)
32
63
  @application_id = application_id
33
- @offer_status = offer_status
34
- @start_date = start_date
35
64
  @currency = currency
36
65
  @offer_history = offer_history
66
+ @offer_status = offer_status
37
67
  @salary = salary
68
+ @start_date = start_date
38
69
  end
39
70
  end
40
71
  end
@@ -13,12 +13,12 @@ module StackOne
13
13
  extend T::Sig
14
14
 
15
15
 
16
- field :id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
16
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
17
17
 
18
- field :name, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
18
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
19
19
 
20
20
 
21
- sig { params(id: String, name: String).void }
21
+ sig { params(id: T.nilable(String), name: T.nilable(String)).void }
22
22
  def initialize(id: nil, name: nil)
23
23
  @id = id
24
24
  @name = name
@@ -5,21 +5,78 @@
5
5
 
6
6
  require 'sorbet-runtime'
7
7
  require 'faraday'
8
- require_relative '../shared/applicationstatusenumapimodel'
9
- require_relative '../shared/applicationcandidate'
10
8
 
11
9
  module StackOne
12
10
  module Shared
11
+ # AtsUpdateApplicationRequestDtoValue - The status of the application.
12
+ class AtsUpdateApplicationRequestDtoValue < T::Enum
13
+ enums do
14
+ ACTIVE = new('active')
15
+ ASSESSMENT = new('assessment')
16
+ BACKGROUND_CHECK = new('background_check')
17
+ CONVERTED = new('converted')
18
+ DECLINED_BY_CANDIDATE = new('declined_by_candidate')
19
+ HIRED = new('hired')
20
+ INTERVIEW = new('interview')
21
+ LEAD = new('lead')
22
+ OFFER = new('offer')
23
+ REFERENCE_CHECK = new('reference_check')
24
+ REJECTED = new('rejected')
25
+ REVIEW = new('review')
26
+ SCREEN = new('screen')
27
+ NEW = new('new')
28
+ UNMAPPED_VALUE = new('unmapped_value')
29
+ end
30
+ end
31
+
32
+
33
+
34
+ class AtsUpdateApplicationRequestDtoApplicationStatus < ::StackOne::Utils::FieldAugmented
35
+ extend T::Sig
36
+
37
+ # The source value of the application status.
38
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
39
+ # The status of the application.
40
+ field :value, T.nilable(Shared::AtsUpdateApplicationRequestDtoValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::AtsUpdateApplicationRequestDtoValue, true) } }
41
+
42
+
43
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::AtsUpdateApplicationRequestDtoValue)).void }
44
+ def initialize(source_value: nil, value: nil)
45
+ @source_value = source_value
46
+ @value = value
47
+ end
48
+ end
49
+
50
+
51
+ class AtsUpdateApplicationRequestDtoCandidate < ::StackOne::Utils::FieldAugmented
52
+ extend T::Sig
53
+
54
+ # Email of the candidate
55
+ field :email, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('email') } }
56
+ # First name of the candidate
57
+ field :first_name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('first_name') } }
58
+ # Last name of the candidate
59
+ field :last_name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('last_name') } }
60
+
61
+
62
+ sig { params(email: T.nilable(String), first_name: T.nilable(String), last_name: T.nilable(String)).void }
63
+ def initialize(email: nil, first_name: nil, last_name: nil)
64
+ @email = email
65
+ @first_name = first_name
66
+ @last_name = last_name
67
+ end
68
+ end
69
+
13
70
 
14
71
  class AtsUpdateApplicationRequestDto < ::StackOne::Utils::FieldAugmented
15
72
  extend T::Sig
16
73
 
17
74
 
18
- field :application_status, T.nilable(Shared::ApplicationStatusEnumApiModel), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('application_status') } }
75
+ field :application_status, T.nilable(Shared::AtsUpdateApplicationRequestDtoApplicationStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('application_status') } }
19
76
 
20
77
  field :attachments, T.nilable(T::Array[Shared::ApplicationAttachment]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('attachments') } }
21
78
 
22
- field :candidate, T.nilable(Shared::ApplicationCandidate), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('candidate') } }
79
+ field :candidate, T.nilable(Shared::AtsUpdateApplicationRequestDtoCandidate), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('candidate') } }
23
80
  # Unique identifier of the candidate
24
81
  field :candidate_id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('candidate_id') } }
25
82
  # The ID of the application to update.
@@ -32,7 +89,7 @@ module StackOne
32
89
  field :questionnaires, T.nilable(T::Array[Shared::Questionnaire]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('questionnaires') } }
33
90
 
34
91
 
35
- sig { params(application_status: T.nilable(Shared::ApplicationStatusEnumApiModel), attachments: T.nilable(T::Array[Shared::ApplicationAttachment]), candidate: T.nilable(Shared::ApplicationCandidate), candidate_id: T.nilable(String), id: T.nilable(String), job_id: T.nilable(String), location_ids: T.nilable(T::Array[String]), questionnaires: T.nilable(T::Array[Shared::Questionnaire])).void }
92
+ sig { params(application_status: T.nilable(Shared::AtsUpdateApplicationRequestDtoApplicationStatus), attachments: T.nilable(T::Array[Shared::ApplicationAttachment]), candidate: T.nilable(Shared::AtsUpdateApplicationRequestDtoCandidate), candidate_id: T.nilable(String), id: T.nilable(String), job_id: T.nilable(String), location_ids: T.nilable(T::Array[String]), questionnaires: T.nilable(T::Array[Shared::Questionnaire])).void }
36
93
  def initialize(application_status: nil, attachments: nil, candidate: nil, candidate_id: nil, id: nil, job_id: nil, location_ids: nil, questionnaires: nil)
37
94
  @application_status = application_status
38
95
  @attachments = attachments
@@ -8,8 +8,8 @@ require 'faraday'
8
8
 
9
9
  module StackOne
10
10
  module Shared
11
- # AttachmentTypeValue - The type of the attachment.
12
- class AttachmentTypeValue < T::Enum
11
+ # Value - The type of the attachment.
12
+ class Value < T::Enum
13
13
  enums do
14
14
  RESUME = new('resume')
15
15
  GENERIC_FILE = new('generic_file')
@@ -25,12 +25,12 @@ module StackOne
25
25
  extend T::Sig
26
26
 
27
27
  # The source value of the attachment type.
28
- field :source_value, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
28
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
29
29
  # The type of the attachment.
30
- field :value, T.nilable(Shared::AttachmentTypeValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::AttachmentTypeValue, true) } }
30
+ field :value, T.nilable(Shared::Value), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::Value, true) } }
31
31
 
32
32
 
33
- sig { params(source_value: T.nilable(String), value: T.nilable(Shared::AttachmentTypeValue)).void }
33
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::Value)).void }
34
34
  def initialize(source_value: nil, value: nil)
35
35
  @source_value = source_value
36
36
  @value = value
@@ -25,12 +25,12 @@ module StackOne
25
25
  extend T::Sig
26
26
 
27
27
  # The source value of the schedule type.
28
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
28
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
29
29
  # The schedule type of the campaign.
30
- field :value, Shared::CampaignValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CampaignValue, false) } }
30
+ field :value, T.nilable(Shared::CampaignValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CampaignValue, true) } }
31
31
 
32
32
 
33
- sig { params(source_value: String, value: Shared::CampaignValue).void }
33
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::CampaignValue)).void }
34
34
  def initialize(source_value: nil, value: nil)
35
35
  @source_value = source_value
36
36
  @value = value
@@ -52,12 +52,12 @@ module StackOne
52
52
  extend T::Sig
53
53
 
54
54
  # The source value of the Status.
55
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
55
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
56
56
  # The Status of the campaign.
57
- field :value, Shared::CampaignSchemasValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CampaignSchemasValue, false) } }
57
+ field :value, T.nilable(Shared::CampaignSchemasValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CampaignSchemasValue, true) } }
58
58
 
59
59
 
60
- sig { params(source_value: String, value: Shared::CampaignSchemasValue).void }
60
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::CampaignSchemasValue)).void }
61
61
  def initialize(source_value: nil, value: nil)
62
62
  @source_value = source_value
63
63
  @value = value
@@ -69,8 +69,6 @@ module StackOne
69
69
  extend T::Sig
70
70
 
71
71
 
72
- field :name, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
73
-
74
72
  field :archived, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('archived') } }
75
73
  # channels of the Campaign
76
74
  field :channels, T.nilable(T::Array[Shared::ChannelsEnum]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('channels') } }
@@ -88,6 +86,8 @@ module StackOne
88
86
  field :last_sent_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('last_sent_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
89
87
 
90
88
  field :messages, T.nilable(T::Array[Shared::Message]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('messages') } }
89
+
90
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
91
91
  # The schedule type
92
92
  field :schedule_type, T.nilable(Shared::ScheduleType), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('schedule_type') } }
93
93
  # Status of the Campaign
@@ -98,9 +98,8 @@ module StackOne
98
98
  field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
99
99
 
100
100
 
101
- sig { params(name: String, archived: T.nilable(T::Boolean), channels: T.nilable(T::Array[Shared::ChannelsEnum]), created_at: T.nilable(DateTime), description: T.nilable(String), draft: T.nilable(T::Boolean), first_sent_at: T.nilable(DateTime), id: T.nilable(String), last_sent_at: T.nilable(DateTime), messages: T.nilable(T::Array[Shared::Message]), schedule_type: T.nilable(Shared::ScheduleType), status: T.nilable(Shared::Status), tags: T.nilable(T::Array[String]), updated_at: T.nilable(DateTime)).void }
102
- def initialize(name: nil, archived: nil, channels: nil, created_at: nil, description: nil, draft: nil, first_sent_at: nil, id: nil, last_sent_at: nil, messages: nil, schedule_type: nil, status: nil, tags: nil, updated_at: nil)
103
- @name = name
101
+ sig { params(archived: T.nilable(T::Boolean), channels: T.nilable(T::Array[Shared::ChannelsEnum]), created_at: T.nilable(DateTime), description: T.nilable(String), draft: T.nilable(T::Boolean), first_sent_at: T.nilable(DateTime), id: T.nilable(String), last_sent_at: T.nilable(DateTime), messages: T.nilable(T::Array[Shared::Message]), name: T.nilable(String), schedule_type: T.nilable(Shared::ScheduleType), status: T.nilable(Shared::Status), tags: T.nilable(T::Array[String]), updated_at: T.nilable(DateTime)).void }
102
+ def initialize(archived: nil, channels: nil, created_at: nil, description: nil, draft: nil, first_sent_at: nil, id: nil, last_sent_at: nil, messages: nil, name: nil, schedule_type: nil, status: nil, tags: nil, updated_at: nil)
104
103
  @archived = archived
105
104
  @channels = channels
106
105
  @created_at = created_at
@@ -110,6 +109,7 @@ module StackOne
110
109
  @id = id
111
110
  @last_sent_at = last_sent_at
112
111
  @messages = messages
112
+ @name = name
113
113
  @schedule_type = schedule_type
114
114
  @status = status
115
115
  @tags = tags
@@ -12,52 +12,52 @@ module StackOne
12
12
  class Candidate < ::StackOne::Utils::FieldAugmented
13
13
  extend T::Sig
14
14
 
15
- # Candidate created date
16
- field :created_at, DateTime, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(false) } }
17
- # Candidate email
18
- field :email, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('email') } }
19
- # List of candidate emails
20
- field :emails, T::Array[Shared::CandidateEmail], { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('emails') } }
21
- # Candidate first name
22
- field :first_name, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('first_name') } }
23
15
  # Candidate ID
24
16
  field :id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
25
- # Candidate last name
26
- field :last_name, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('last_name') } }
27
- # Candidate name
28
- field :name, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
29
- # List of candidate social links
30
- field :social_links, T::Array[Shared::SocialLink], { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('social_links') } }
31
- # Candidate title
32
- field :title, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('title') } }
33
- # Candidate updated date
34
- field :updated_at, DateTime, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(false) } }
35
17
  # List of candidate application IDs
36
18
  field :application_ids, T.nilable(T::Array[String]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('application_ids') } }
37
19
  # Candidate company
38
20
  field :company, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('company') } }
21
+ # Candidate created date
22
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
23
+ # Candidate email
24
+ field :email, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('email') } }
25
+ # List of candidate emails
26
+ field :emails, T.nilable(T::Array[Shared::CandidateEmail]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('emails') } }
27
+ # Candidate first name
28
+ field :first_name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('first_name') } }
39
29
  # Candidate hired date
40
30
  field :hired_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('hired_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
31
+ # Candidate last name
32
+ field :last_name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('last_name') } }
33
+ # Candidate name
34
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
41
35
  # Candidate phone number
42
36
  field :phone, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('phone') } }
37
+ # List of candidate social links
38
+ field :social_links, T.nilable(T::Array[Shared::SocialLink]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('social_links') } }
39
+ # Candidate title
40
+ field :title, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('title') } }
41
+ # Candidate updated date
42
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
43
43
 
44
44
 
45
- sig { params(created_at: DateTime, email: String, emails: T::Array[Shared::CandidateEmail], first_name: String, id: String, last_name: String, name: String, social_links: T::Array[Shared::SocialLink], title: String, updated_at: DateTime, application_ids: T.nilable(T::Array[String]), company: T.nilable(String), hired_at: T.nilable(DateTime), phone: T.nilable(String)).void }
46
- def initialize(created_at: nil, email: nil, emails: nil, first_name: nil, id: nil, last_name: nil, name: nil, social_links: nil, title: nil, updated_at: nil, application_ids: nil, company: nil, hired_at: nil, phone: nil)
45
+ sig { params(id: String, application_ids: T.nilable(T::Array[String]), company: T.nilable(String), created_at: T.nilable(DateTime), email: T.nilable(String), emails: T.nilable(T::Array[Shared::CandidateEmail]), first_name: T.nilable(String), hired_at: T.nilable(DateTime), last_name: T.nilable(String), name: T.nilable(String), phone: T.nilable(String), social_links: T.nilable(T::Array[Shared::SocialLink]), title: T.nilable(String), updated_at: T.nilable(DateTime)).void }
46
+ def initialize(id: nil, application_ids: nil, company: nil, created_at: nil, email: nil, emails: nil, first_name: nil, hired_at: nil, last_name: nil, name: nil, phone: nil, social_links: nil, title: nil, updated_at: nil)
47
+ @id = id
48
+ @application_ids = application_ids
49
+ @company = company
47
50
  @created_at = created_at
48
51
  @email = email
49
52
  @emails = emails
50
53
  @first_name = first_name
51
- @id = id
54
+ @hired_at = hired_at
52
55
  @last_name = last_name
53
56
  @name = name
57
+ @phone = phone
54
58
  @social_links = social_links
55
59
  @title = title
56
60
  @updated_at = updated_at
57
- @application_ids = application_ids
58
- @company = company
59
- @hired_at = hired_at
60
- @phone = phone
61
61
  end
62
62
  end
63
63
  end
@@ -13,12 +13,12 @@ module StackOne
13
13
  extend T::Sig
14
14
 
15
15
  # Type of the email
16
- field :type, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } }
16
+ field :type, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('type') } }
17
17
  # Email value
18
- field :value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value') } }
18
+ field :value, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value') } }
19
19
 
20
20
 
21
- sig { params(type: String, value: String).void }
21
+ sig { params(type: T.nilable(String), value: T.nilable(String)).void }
22
22
  def initialize(type: nil, value: nil)
23
23
  @type = type
24
24
  @value = value
@@ -27,12 +27,12 @@ module StackOne
27
27
  extend T::Sig
28
28
 
29
29
  # The source value of the Channels.
30
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
30
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
31
31
  # The Channels of the campaign.
32
- field :value, Shared::ChannelsEnumValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::ChannelsEnumValue, false) } }
32
+ field :value, T.nilable(Shared::ChannelsEnumValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::ChannelsEnumValue, true) } }
33
33
 
34
34
 
35
- sig { params(source_value: String, value: Shared::ChannelsEnumValue).void }
35
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::ChannelsEnumValue)).void }
36
36
  def initialize(source_value: nil, value: nil)
37
37
  @source_value = source_value
38
38
  @value = value
@@ -38,8 +38,6 @@ module StackOne
38
38
 
39
39
  field :project_id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('project_id') } }
40
40
 
41
- field :provider, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('provider') } }
42
-
43
41
  field :account_id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('account_id') } }
44
42
 
45
43
  field :categories, T.nilable(T::Array[Shared::Categories]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('categories') } }
@@ -48,20 +46,22 @@ module StackOne
48
46
 
49
47
  field :origin_username, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('origin_username') } }
50
48
 
49
+ field :provider, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('provider') } }
50
+
51
51
 
52
- sig { params(created_at: DateTime, id: Float, organization_id: Float, origin_owner_id: String, origin_owner_name: String, project_id: String, provider: String, account_id: T.nilable(String), categories: T.nilable(T::Array[Shared::Categories]), label: T.nilable(String), origin_username: T.nilable(String)).void }
53
- def initialize(created_at: nil, id: nil, organization_id: nil, origin_owner_id: nil, origin_owner_name: nil, project_id: nil, provider: nil, account_id: nil, categories: nil, label: nil, origin_username: nil)
52
+ sig { params(created_at: DateTime, id: Float, organization_id: Float, origin_owner_id: String, origin_owner_name: String, project_id: String, account_id: T.nilable(String), categories: T.nilable(T::Array[Shared::Categories]), label: T.nilable(String), origin_username: T.nilable(String), provider: T.nilable(String)).void }
53
+ def initialize(created_at: nil, id: nil, organization_id: nil, origin_owner_id: nil, origin_owner_name: nil, project_id: nil, account_id: nil, categories: nil, label: nil, origin_username: nil, provider: nil)
54
54
  @created_at = created_at
55
55
  @id = id
56
56
  @organization_id = organization_id
57
57
  @origin_owner_id = origin_owner_id
58
58
  @origin_owner_name = origin_owner_name
59
59
  @project_id = project_id
60
- @provider = provider
61
60
  @account_id = account_id
62
61
  @categories = categories
63
62
  @label = label
64
63
  @origin_username = origin_username
64
+ @provider = provider
65
65
  end
66
66
  end
67
67
  end
@@ -38,8 +38,6 @@ module StackOne
38
38
 
39
39
  field :project_id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('project_id') } }
40
40
 
41
- field :provider, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('provider') } }
42
-
43
41
  field :token, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('token') } }
44
42
 
45
43
  field :account_id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('account_id') } }
@@ -50,21 +48,23 @@ module StackOne
50
48
 
51
49
  field :origin_username, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('origin_username') } }
52
50
 
51
+ field :provider, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('provider') } }
52
+
53
53
 
54
- sig { params(created_at: DateTime, id: Float, organization_id: Float, origin_owner_id: String, origin_owner_name: String, project_id: String, provider: String, token: String, account_id: T.nilable(String), categories: T.nilable(T::Array[Shared::ConnectSessionTokenCategories]), label: T.nilable(String), origin_username: T.nilable(String)).void }
55
- def initialize(created_at: nil, id: nil, organization_id: nil, origin_owner_id: nil, origin_owner_name: nil, project_id: nil, provider: nil, token: nil, account_id: nil, categories: nil, label: nil, origin_username: nil)
54
+ sig { params(created_at: DateTime, id: Float, organization_id: Float, origin_owner_id: String, origin_owner_name: String, project_id: String, token: String, account_id: T.nilable(String), categories: T.nilable(T::Array[Shared::ConnectSessionTokenCategories]), label: T.nilable(String), origin_username: T.nilable(String), provider: T.nilable(String)).void }
55
+ def initialize(created_at: nil, id: nil, organization_id: nil, origin_owner_id: nil, origin_owner_name: nil, project_id: nil, token: nil, account_id: nil, categories: nil, label: nil, origin_username: nil, provider: nil)
56
56
  @created_at = created_at
57
57
  @id = id
58
58
  @organization_id = organization_id
59
59
  @origin_owner_id = origin_owner_id
60
60
  @origin_owner_name = origin_owner_name
61
61
  @project_id = project_id
62
- @provider = provider
63
62
  @token = token
64
63
  @account_id = account_id
65
64
  @categories = categories
66
65
  @label = label
67
66
  @origin_username = origin_username
67
+ @provider = provider
68
68
  end
69
69
  end
70
70
  end
@@ -5,6 +5,7 @@
5
5
 
6
6
  require 'sorbet-runtime'
7
7
  require 'faraday'
8
+ require_relative '../shared/documentfileformatenum'
8
9
 
9
10
  module StackOne
10
11
  module Shared
@@ -12,16 +13,16 @@ module StackOne
12
13
  class Content < ::StackOne::Utils::FieldAugmented
13
14
  extend T::Sig
14
15
 
16
+ # The file format of the document
17
+ field :file_format, T.nilable(Shared::DocumentFileFormatEnum), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('file_format') } }
18
+ # URL where the file content is located
19
+ field :url, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('url') } }
15
20
 
16
- field :html, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('html') } }
17
21
 
18
- field :plain, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('plain') } }
19
-
20
-
21
- sig { params(html: T.nilable(String), plain: T.nilable(String)).void }
22
- def initialize(html: nil, plain: nil)
23
- @html = html
24
- @plain = plain
22
+ sig { params(file_format: T.nilable(Shared::DocumentFileFormatEnum), url: T.nilable(String)).void }
23
+ def initialize(file_format: nil, url: nil)
24
+ @file_format = file_format
25
+ @url = url
25
26
  end
26
27
  end
27
28
  end
@@ -0,0 +1,25 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+
9
+ module StackOne
10
+ module Shared
11
+
12
+ class CostCenters < ::StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
17
+
18
+
19
+ sig { params(name: T.nilable(String)).void }
20
+ def initialize(name: nil)
21
+ @name = name
22
+ end
23
+ end
24
+ end
25
+ end
@@ -268,13 +268,13 @@ module StackOne
268
268
  class CountryCodeEnum < ::StackOne::Utils::FieldAugmented
269
269
  extend T::Sig
270
270
 
271
- # The name of citizenship
272
- field :source_value, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
271
+
272
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
273
273
  # The ISO3166-1 Alpha2 Code of the Country
274
- field :value, Shared::CountryCodeEnumValue, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CountryCodeEnumValue, false) } }
274
+ field :value, T.nilable(Shared::CountryCodeEnumValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::CountryCodeEnumValue, true) } }
275
275
 
276
276
 
277
- sig { params(source_value: String, value: Shared::CountryCodeEnumValue).void }
277
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::CountryCodeEnumValue)).void }
278
278
  def initialize(source_value: nil, value: nil)
279
279
  @source_value = source_value
280
280
  @value = value
@@ -13,14 +13,14 @@ module StackOne
13
13
  extend T::Sig
14
14
 
15
15
 
16
- field :message, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message') } }
16
+ field :message, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('message') } }
17
17
 
18
- field :status_code, Float, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('statusCode') } }
18
+ field :status_code, T.nilable(Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('statusCode') } }
19
19
 
20
- field :timestamp, DateTime, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('timestamp'), 'decoder': Utils.datetime_from_iso_format(false) } }
20
+ field :timestamp, T.nilable(DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('timestamp'), 'decoder': Utils.datetime_from_iso_format(true) } }
21
21
 
22
22
 
23
- sig { params(message: String, status_code: Float, timestamp: DateTime).void }
23
+ sig { params(message: T.nilable(String), status_code: T.nilable(Float), timestamp: T.nilable(DateTime)).void }
24
24
  def initialize(message: nil, status_code: nil, timestamp: nil)
25
25
  @message = message
26
26
  @status_code = status_code
@@ -13,12 +13,12 @@ module StackOne
13
13
  extend T::Sig
14
14
 
15
15
 
16
- field :id, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
16
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
17
17
 
18
- field :name, String, { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
18
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
19
19
 
20
20
 
21
- sig { params(id: String, name: String).void }
21
+ sig { params(id: T.nilable(String), name: T.nilable(String)).void }
22
22
  def initialize(id: nil, name: nil)
23
23
  @id = id
24
24
  @name = name
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+
9
+ module StackOne
10
+ module Shared
11
+
12
+ class DocumentFileFormatEnumValue < T::Enum
13
+ enums do
14
+ PDF = new('pdf')
15
+ JPG = new('jpg')
16
+ PNG = new('png')
17
+ DOC = new('doc')
18
+ UNMAPPED_VALUE = new('unmapped_value')
19
+ end
20
+ end
21
+
22
+
23
+
24
+ class DocumentFileFormatEnum < ::StackOne::Utils::FieldAugmented
25
+ extend T::Sig
26
+
27
+
28
+ field :source_value, T.nilable(Object), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
29
+
30
+ field :value, T.nilable(Shared::DocumentFileFormatEnumValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::DocumentFileFormatEnumValue, true) } }
31
+
32
+
33
+ sig { params(source_value: T.nilable(Object), value: T.nilable(Shared::DocumentFileFormatEnumValue)).void }
34
+ def initialize(source_value: nil, value: nil)
35
+ @source_value = source_value
36
+ @value = value
37
+ end
38
+ end
39
+ end
40
+ end