merge_ats_client 2.0.1 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (237) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +16 -0
  3. data/README.md +186 -167
  4. data/docs/AccountIntegration.md +6 -2
  5. data/docs/ActivitiesApi.md +164 -8
  6. data/docs/Activity.md +12 -6
  7. data/docs/ActivityEndpointRequest.md +20 -0
  8. data/docs/ActivityRequest.md +32 -0
  9. data/docs/ActivityResponse.md +24 -0
  10. data/docs/Application.md +12 -10
  11. data/docs/ApplicationRequest.md +5 -9
  12. data/docs/ApplicationsApi.md +4 -4
  13. data/docs/Attachment.md +8 -4
  14. data/docs/AttachmentRequest.md +1 -3
  15. data/docs/AttachmentsApi.md +13 -9
  16. data/docs/Candidate.md +8 -6
  17. data/docs/CandidateRequest.md +1 -9
  18. data/docs/CandidatesApi.md +16 -13
  19. data/docs/CommonModelScopesBodyRequest.md +22 -0
  20. data/docs/ConditionSchema.md +30 -0
  21. data/docs/ConditionTypeEnum.md +15 -0
  22. data/docs/DataPassthroughRequest.md +1 -1
  23. data/docs/Department.md +7 -3
  24. data/docs/DepartmentsApi.md +4 -4
  25. data/docs/EEOC.md +12 -8
  26. data/docs/EeocsApi.md +13 -9
  27. data/docs/EmailAddress.md +4 -2
  28. data/docs/EmailAddressRequest.md +6 -2
  29. data/docs/EnabledActionsEnum.md +15 -0
  30. data/docs/EndUserDetailsRequest.md +5 -3
  31. data/docs/ForceResyncApi.md +1 -1
  32. data/docs/InterviewsApi.md +165 -9
  33. data/docs/Issue.md +10 -8
  34. data/docs/IssuesApi.md +6 -6
  35. data/docs/Job.md +8 -4
  36. data/docs/JobInterviewStage.md +10 -4
  37. data/docs/JobInterviewStagesApi.md +4 -4
  38. data/docs/JobsApi.md +16 -10
  39. data/docs/LinkToken.md +1 -1
  40. data/docs/LinkedAccountCondition.md +28 -0
  41. data/docs/LinkedAccountConditionRequest.md +22 -0
  42. data/docs/LinkedAccountSelectiveSyncConfiguration.md +18 -0
  43. data/docs/LinkedAccountSelectiveSyncConfigurationListRequest.md +18 -0
  44. data/docs/LinkedAccountSelectiveSyncConfigurationRequest.md +18 -0
  45. data/docs/LinkedAccountsApi.md +2 -2
  46. data/docs/MetaResponse.md +2 -0
  47. data/docs/MultipartFormFieldRequest.md +1 -1
  48. data/docs/Offer.md +10 -6
  49. data/docs/OffersApi.md +13 -9
  50. data/docs/Office.md +7 -3
  51. data/docs/OfficesApi.md +4 -4
  52. data/docs/OperatorSchema.md +20 -0
  53. data/docs/PaginatedConditionSchemaList.md +22 -0
  54. data/docs/PhoneNumber.md +4 -2
  55. data/docs/PhoneNumberRequest.md +6 -2
  56. data/docs/RejectReason.md +7 -3
  57. data/docs/RejectReasonsApi.md +4 -4
  58. data/docs/RemoteUser.md +8 -4
  59. data/docs/ScheduledInterview.md +11 -7
  60. data/docs/ScheduledInterviewEndpointRequest.md +20 -0
  61. data/docs/ScheduledInterviewRequest.md +36 -0
  62. data/docs/ScheduledInterviewResponse.md +24 -0
  63. data/docs/Scorecard.md +11 -7
  64. data/docs/ScorecardsApi.md +13 -9
  65. data/docs/SelectiveSyncApi.md +233 -0
  66. data/docs/SelectiveSyncConfigurationsUsageEnum.md +15 -0
  67. data/docs/SyncStatus.md +3 -1
  68. data/docs/SyncStatusApi.md +1 -1
  69. data/docs/Tag.md +7 -3
  70. data/docs/TagsApi.md +4 -4
  71. data/docs/Url.md +4 -2
  72. data/docs/UrlRequest.md +6 -2
  73. data/docs/UsersApi.md +13 -9
  74. data/lib/merge_ats_client/api/activities_api.rb +160 -8
  75. data/lib/merge_ats_client/api/applications_api.rb +4 -4
  76. data/lib/merge_ats_client/api/attachments_api.rb +22 -8
  77. data/lib/merge_ats_client/api/candidates_api.rb +15 -11
  78. data/lib/merge_ats_client/api/departments_api.rb +4 -4
  79. data/lib/merge_ats_client/api/eeocs_api.rb +22 -8
  80. data/lib/merge_ats_client/api/force_resync_api.rb +2 -2
  81. data/lib/merge_ats_client/api/interviews_api.rb +160 -8
  82. data/lib/merge_ats_client/api/issues_api.rb +6 -6
  83. data/lib/merge_ats_client/api/job_interview_stages_api.rb +4 -4
  84. data/lib/merge_ats_client/api/jobs_api.rb +27 -10
  85. data/lib/merge_ats_client/api/linked_accounts_api.rb +3 -3
  86. data/lib/merge_ats_client/api/offers_api.rb +22 -8
  87. data/lib/merge_ats_client/api/offices_api.rb +4 -4
  88. data/lib/merge_ats_client/api/reject_reasons_api.rb +4 -4
  89. data/lib/merge_ats_client/api/scorecards_api.rb +22 -8
  90. data/lib/merge_ats_client/api/selective_sync_api.rb +225 -0
  91. data/lib/merge_ats_client/api/sync_status_api.rb +2 -2
  92. data/lib/merge_ats_client/api/tags_api.rb +4 -4
  93. data/lib/merge_ats_client/api/users_api.rb +22 -8
  94. data/lib/merge_ats_client/models/access_role_enum.rb +1 -1
  95. data/lib/merge_ats_client/models/account_details_and_actions_status_enum.rb +1 -1
  96. data/lib/merge_ats_client/models/account_integration.rb +30 -8
  97. data/lib/merge_ats_client/models/activity.rb +50 -16
  98. data/lib/merge_ats_client/models/activity_endpoint_request.rb +237 -0
  99. data/lib/merge_ats_client/models/activity_request.rb +300 -0
  100. data/lib/merge_ats_client/models/activity_response.rb +266 -0
  101. data/lib/merge_ats_client/models/activity_type_enum.rb +1 -1
  102. data/lib/merge_ats_client/models/application.rb +40 -26
  103. data/lib/merge_ats_client/models/application_request.rb +7 -26
  104. data/lib/merge_ats_client/models/attachment.rb +38 -16
  105. data/lib/merge_ats_client/models/attachment_request.rb +3 -14
  106. data/lib/merge_ats_client/models/attachment_type_enum.rb +1 -1
  107. data/lib/merge_ats_client/models/candidate.rb +36 -27
  108. data/lib/merge_ats_client/models/candidate_request.rb +3 -49
  109. data/lib/merge_ats_client/models/categories_enum.rb +4 -2
  110. data/lib/merge_ats_client/models/category_enum.rb +4 -2
  111. data/lib/merge_ats_client/models/common_model_scopes_body_request.rb +274 -0
  112. data/lib/merge_ats_client/models/condition_schema.rb +298 -0
  113. data/lib/merge_ats_client/models/condition_type_enum.rb +50 -0
  114. data/lib/merge_ats_client/models/data_passthrough_request.rb +1 -0
  115. data/lib/merge_ats_client/models/department.rb +36 -14
  116. data/lib/merge_ats_client/models/disability_status_enum.rb +1 -1
  117. data/lib/merge_ats_client/models/eeoc.rb +42 -19
  118. data/lib/merge_ats_client/models/email_address.rb +16 -6
  119. data/lib/merge_ats_client/models/email_address_request.rb +30 -6
  120. data/lib/merge_ats_client/models/email_address_type_enum.rb +1 -1
  121. data/lib/merge_ats_client/models/enabled_actions_enum.rb +45 -0
  122. data/lib/merge_ats_client/models/encoding_enum.rb +1 -1
  123. data/lib/merge_ats_client/models/end_user_details_request.rb +20 -7
  124. data/lib/merge_ats_client/models/gender_enum.rb +1 -1
  125. data/lib/merge_ats_client/models/issue.rb +16 -4
  126. data/lib/merge_ats_client/models/job.rb +38 -16
  127. data/lib/merge_ats_client/models/job_interview_stage.rb +72 -15
  128. data/lib/merge_ats_client/models/job_status_enum.rb +1 -1
  129. data/lib/merge_ats_client/models/link_token.rb +0 -5
  130. data/lib/merge_ats_client/models/linked_account_condition.rb +282 -0
  131. data/lib/merge_ats_client/models/linked_account_condition_request.rb +269 -0
  132. data/lib/merge_ats_client/models/linked_account_selective_sync_configuration.rb +221 -0
  133. data/lib/merge_ats_client/models/linked_account_selective_sync_configuration_list_request.rb +226 -0
  134. data/lib/merge_ats_client/models/linked_account_selective_sync_configuration_request.rb +226 -0
  135. data/lib/merge_ats_client/models/meta_response.rb +12 -1
  136. data/lib/merge_ats_client/models/method_enum.rb +1 -1
  137. data/lib/merge_ats_client/models/multipart_form_field_request.rb +1 -1
  138. data/lib/merge_ats_client/models/offer.rb +40 -16
  139. data/lib/merge_ats_client/models/offer_status_enum.rb +1 -1
  140. data/lib/merge_ats_client/models/office.rb +37 -15
  141. data/lib/merge_ats_client/models/operator_schema.rb +229 -0
  142. data/lib/merge_ats_client/models/overall_recommendation_enum.rb +1 -1
  143. data/lib/merge_ats_client/models/paginated_condition_schema_list.rb +240 -0
  144. data/lib/merge_ats_client/models/phone_number.rb +16 -6
  145. data/lib/merge_ats_client/models/phone_number_request.rb +30 -6
  146. data/lib/merge_ats_client/models/phone_number_type_enum.rb +1 -1
  147. data/lib/merge_ats_client/models/race_enum.rb +1 -1
  148. data/lib/merge_ats_client/models/reason_enum.rb +1 -1
  149. data/lib/merge_ats_client/models/reject_reason.rb +37 -15
  150. data/lib/merge_ats_client/models/remote_user.rb +38 -16
  151. data/lib/merge_ats_client/models/request_format_enum.rb +1 -1
  152. data/lib/merge_ats_client/models/response_type_enum.rb +1 -1
  153. data/lib/merge_ats_client/models/scheduled_interview.rb +41 -16
  154. data/lib/merge_ats_client/models/scheduled_interview_endpoint_request.rb +237 -0
  155. data/lib/merge_ats_client/models/scheduled_interview_request.rb +323 -0
  156. data/lib/merge_ats_client/models/scheduled_interview_response.rb +266 -0
  157. data/lib/merge_ats_client/models/scheduled_interview_status_enum.rb +1 -1
  158. data/lib/merge_ats_client/models/scorecard.rb +41 -16
  159. data/lib/merge_ats_client/models/selective_sync_configurations_usage_enum.rb +45 -0
  160. data/lib/merge_ats_client/models/sync_status.rb +13 -4
  161. data/lib/merge_ats_client/models/sync_status_status_enum.rb +3 -2
  162. data/lib/merge_ats_client/models/tag.rb +36 -14
  163. data/lib/merge_ats_client/models/url.rb +17 -7
  164. data/lib/merge_ats_client/models/url_request.rb +31 -7
  165. data/lib/merge_ats_client/models/url_type_enum.rb +1 -1
  166. data/lib/merge_ats_client/models/veteran_status_enum.rb +1 -1
  167. data/lib/merge_ats_client/models/visibility_enum.rb +1 -1
  168. data/lib/merge_ats_client/version.rb +1 -1
  169. data/lib/merge_ats_client.rb +19 -1
  170. data/spec/api/activities_api_spec.rb +31 -4
  171. data/spec/api/applications_api_spec.rb +2 -2
  172. data/spec/api/attachments_api_spec.rb +6 -4
  173. data/spec/api/candidates_api_spec.rb +5 -3
  174. data/spec/api/departments_api_spec.rb +2 -2
  175. data/spec/api/eeocs_api_spec.rb +6 -4
  176. data/spec/api/force_resync_api_spec.rb +1 -1
  177. data/spec/api/interviews_api_spec.rb +31 -4
  178. data/spec/api/issues_api_spec.rb +3 -3
  179. data/spec/api/job_interview_stages_api_spec.rb +2 -2
  180. data/spec/api/jobs_api_spec.rb +8 -5
  181. data/spec/api/linked_accounts_api_spec.rb +1 -1
  182. data/spec/api/offers_api_spec.rb +6 -4
  183. data/spec/api/offices_api_spec.rb +2 -2
  184. data/spec/api/reject_reasons_api_spec.rb +2 -2
  185. data/spec/api/scorecards_api_spec.rb +6 -4
  186. data/spec/api/selective_sync_api_spec.rb +72 -0
  187. data/spec/api/sync_status_api_spec.rb +1 -1
  188. data/spec/api/tags_api_spec.rb +2 -2
  189. data/spec/api/users_api_spec.rb +6 -4
  190. data/spec/models/account_integration_spec.rb +12 -0
  191. data/spec/models/{ignore_common_model_spec.rb → activity_endpoint_request_spec.rb} +8 -8
  192. data/spec/models/activity_request_spec.rb +76 -0
  193. data/spec/models/activity_response_spec.rb +52 -0
  194. data/spec/models/activity_spec.rb +19 -1
  195. data/spec/models/application_request_spec.rb +0 -12
  196. data/spec/models/application_spec.rb +9 -3
  197. data/spec/models/attachment_request_spec.rb +0 -6
  198. data/spec/models/attachment_spec.rb +14 -2
  199. data/spec/models/candidate_request_spec.rb +0 -24
  200. data/spec/models/candidate_spec.rb +9 -3
  201. data/spec/models/common_model_scopes_body_request_spec.rb +46 -0
  202. data/spec/models/condition_schema_spec.rb +70 -0
  203. data/spec/models/condition_type_enum_spec.rb +28 -0
  204. data/spec/models/department_spec.rb +14 -2
  205. data/spec/models/eeoc_spec.rb +14 -2
  206. data/spec/models/email_address_request_spec.rb +12 -0
  207. data/spec/models/email_address_spec.rb +6 -0
  208. data/spec/models/enabled_actions_enum_spec.rb +28 -0
  209. data/spec/models/end_user_details_request_spec.rb +6 -0
  210. data/spec/models/issue_spec.rb +6 -0
  211. data/spec/models/job_interview_stage_spec.rb +19 -1
  212. data/spec/models/job_spec.rb +14 -2
  213. data/spec/models/linked_account_condition_request_spec.rb +46 -0
  214. data/spec/models/linked_account_condition_spec.rb +64 -0
  215. data/spec/models/linked_account_selective_sync_configuration_list_request_spec.rb +34 -0
  216. data/spec/models/linked_account_selective_sync_configuration_request_spec.rb +34 -0
  217. data/spec/models/linked_account_selective_sync_configuration_spec.rb +34 -0
  218. data/spec/models/meta_response_spec.rb +6 -0
  219. data/spec/models/offer_spec.rb +14 -2
  220. data/spec/models/office_spec.rb +14 -2
  221. data/spec/models/{remote_data_request_spec.rb → operator_schema_spec.rb} +8 -8
  222. data/spec/models/paginated_condition_schema_list_spec.rb +46 -0
  223. data/spec/models/phone_number_request_spec.rb +12 -0
  224. data/spec/models/phone_number_spec.rb +6 -0
  225. data/spec/models/reject_reason_spec.rb +14 -2
  226. data/spec/models/remote_user_spec.rb +14 -2
  227. data/spec/models/scheduled_interview_endpoint_request_spec.rb +40 -0
  228. data/spec/models/scheduled_interview_request_spec.rb +88 -0
  229. data/spec/models/scheduled_interview_response_spec.rb +52 -0
  230. data/spec/models/scheduled_interview_spec.rb +14 -2
  231. data/spec/models/scorecard_spec.rb +14 -2
  232. data/spec/models/selective_sync_configurations_usage_enum_spec.rb +28 -0
  233. data/spec/models/sync_status_spec.rb +6 -0
  234. data/spec/models/tag_spec.rb +14 -2
  235. data/spec/models/url_request_spec.rb +12 -0
  236. data/spec/models/url_spec.rb +6 -0
  237. metadata +182 -109
@@ -0,0 +1,298 @@
1
+ =begin
2
+ #Merge ATS API
3
+
4
+ #The unified API for building rich integrations with multiple Applicant Tracking System platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeATSClient
17
+ class ConditionSchema
18
+ # The ID of the condition schema. This ID is used when updating selective syncs for a linked account.
19
+ attr_accessor :id
20
+
21
+ # The common model for which a condition schema is defined.
22
+ attr_accessor :common_model
23
+
24
+ # User-facing *native condition* name. e.g. \"Skip Manager\".
25
+ attr_accessor :native_name
26
+
27
+ # The name of the field on the common model that this condition corresponds to, if they conceptually match. e.g. \"location_type\".
28
+ attr_accessor :field_name
29
+
30
+ # Whether this condition can only be applied once. If false, the condition can be AND'd together multiple times.
31
+ attr_accessor :is_unique
32
+
33
+ # The type of value(s) that can be set for this condition. * `BOOLEAN` - BOOLEAN * `DATE` - DATE * `DATE_TIME` - DATE_TIME * `INTEGER` - INTEGER * `FLOAT` - FLOAT * `STRING` - STRING * `LIST_OF_STRINGS` - LIST_OF_STRINGS
34
+ attr_accessor :condition_type
35
+
36
+ # The schemas for the operators that can be used on a condition.
37
+ attr_accessor :operators
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ def self.attribute_map
41
+ {
42
+ :'id' => :'id',
43
+ :'common_model' => :'common_model',
44
+ :'native_name' => :'native_name',
45
+ :'field_name' => :'field_name',
46
+ :'is_unique' => :'is_unique',
47
+ :'condition_type' => :'condition_type',
48
+ :'operators' => :'operators'
49
+ }
50
+ end
51
+
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.openapi_types
59
+ {
60
+ :'id' => :'String',
61
+ :'common_model' => :'String',
62
+ :'native_name' => :'String',
63
+ :'field_name' => :'String',
64
+ :'is_unique' => :'Boolean',
65
+ :'condition_type' => :'ConditionTypeEnum',
66
+ :'operators' => :'Array<OperatorSchema>'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ :'native_name',
74
+ :'field_name',
75
+ ])
76
+ end
77
+
78
+ # Initializes the object
79
+ # @param [Hash] attributes Model attributes in the form of hash
80
+ def initialize(attributes = {})
81
+ if (!attributes.is_a?(Hash))
82
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeATSClient::ConditionSchema` initialize method"
83
+ end
84
+
85
+ # check to see if the attribute exists and convert string to symbol for hash key
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!self.class.attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeATSClient::ConditionSchema`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'id')
94
+ self.id = attributes[:'id']
95
+ end
96
+
97
+ if attributes.key?(:'common_model')
98
+ self.common_model = attributes[:'common_model']
99
+ end
100
+
101
+ if attributes.key?(:'native_name')
102
+ self.native_name = attributes[:'native_name']
103
+ end
104
+
105
+ if attributes.key?(:'field_name')
106
+ self.field_name = attributes[:'field_name']
107
+ end
108
+
109
+ if attributes.key?(:'is_unique')
110
+ self.is_unique = attributes[:'is_unique']
111
+ end
112
+
113
+ if attributes.key?(:'condition_type')
114
+ self.condition_type = attributes[:'condition_type']
115
+ end
116
+
117
+ if attributes.key?(:'operators')
118
+ if (value = attributes[:'operators']).is_a?(Array)
119
+ self.operators = value
120
+ end
121
+ end
122
+ end
123
+
124
+ # Show invalid properties with the reasons. Usually used together with valid?
125
+ # @return Array for valid properties with the reasons
126
+ def list_invalid_properties
127
+ invalid_properties = Array.new
128
+ if @id.nil?
129
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
130
+ end
131
+
132
+ if @condition_type.nil?
133
+ invalid_properties.push('invalid value for "condition_type", condition_type cannot be nil.')
134
+ end
135
+
136
+ if @operators.nil?
137
+ invalid_properties.push('invalid value for "operators", operators cannot be nil.')
138
+ end
139
+
140
+ invalid_properties
141
+ end
142
+
143
+ # Check to see if the all the properties in the model are valid
144
+ # @return true if the model is valid
145
+ def valid?
146
+ return false if @id.nil?
147
+ return false if @condition_type.nil?
148
+ return false if @operators.nil?
149
+ true
150
+ end
151
+
152
+ # Checks equality by comparing each attribute.
153
+ # @param [Object] Object to be compared
154
+ def ==(o)
155
+ return true if self.equal?(o)
156
+ self.class == o.class &&
157
+ id == o.id &&
158
+ common_model == o.common_model &&
159
+ native_name == o.native_name &&
160
+ field_name == o.field_name &&
161
+ is_unique == o.is_unique &&
162
+ condition_type == o.condition_type &&
163
+ operators == o.operators
164
+ end
165
+
166
+ # @see the `==` method
167
+ # @param [Object] Object to be compared
168
+ def eql?(o)
169
+ self == o
170
+ end
171
+
172
+ # Calculates hash code according to all attributes.
173
+ # @return [Integer] Hash code
174
+ def hash
175
+ [id, common_model, native_name, field_name, is_unique, condition_type, operators].hash
176
+ end
177
+
178
+ # Builds the object from hash
179
+ # @param [Hash] attributes Model attributes in the form of hash
180
+ # @return [Object] Returns the model itself
181
+ def self.build_from_hash(attributes)
182
+ new.build_from_hash(attributes)
183
+ end
184
+
185
+ # Builds the object from hash
186
+ # @param [Hash] attributes Model attributes in the form of hash
187
+ # @return [Object] Returns the model itself
188
+ def build_from_hash(attributes)
189
+ return nil unless attributes.is_a?(Hash)
190
+ self.class.openapi_types.each_pair do |key, type|
191
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
192
+ self.send("#{key}=", nil)
193
+ elsif type =~ /\AArray<(.*)>/i
194
+ # check to ensure the input is an array given that the attribute
195
+ # is documented as an array but the input is not
196
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
197
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
198
+ end
199
+ elsif !attributes[self.class.attribute_map[key]].nil?
200
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
201
+ end
202
+ end
203
+
204
+ self
205
+ end
206
+
207
+ # Deserializes the data based on type
208
+ # @param string type Data type
209
+ # @param string value Value to be deserialized
210
+ # @return [Object] Deserialized data
211
+ def _deserialize(type, value)
212
+ case type.to_sym
213
+ when :Time
214
+ Time.parse(value)
215
+ when :Date
216
+ Date.parse(value)
217
+ when :String
218
+ value
219
+ when :Integer
220
+ value.to_i
221
+ when :Float
222
+ value.to_f
223
+ when :Boolean
224
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
225
+ true
226
+ else
227
+ false
228
+ end
229
+ when :Object
230
+ # generic object (usually a Hash), return directly
231
+ value
232
+ when /\AArray<(?<inner_type>.+)>\z/
233
+ inner_type = Regexp.last_match[:inner_type]
234
+ value.map { |v| _deserialize(inner_type, v) }
235
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
236
+ k_type = Regexp.last_match[:k_type]
237
+ v_type = Regexp.last_match[:v_type]
238
+ {}.tap do |hash|
239
+ value.each do |k, v|
240
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
241
+ end
242
+ end
243
+ else # model
244
+ # models (e.g. Pet) or oneOf
245
+ klass = MergeATSClient.const_get(type)
246
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
247
+ end
248
+ end
249
+
250
+ # Returns the string representation of the object
251
+ # @return [String] String presentation of the object
252
+ def to_s
253
+ to_hash.to_s
254
+ end
255
+
256
+ # to_body is an alias to to_hash (backward compatibility)
257
+ # @return [Hash] Returns the object in the form of hash
258
+ def to_body
259
+ to_hash
260
+ end
261
+
262
+ # Returns the object in the form of hash
263
+ # @return [Hash] Returns the object in the form of hash
264
+ def to_hash
265
+ hash = {}
266
+ self.class.attribute_map.each_pair do |attr, param|
267
+ value = self.send(attr)
268
+ if value.nil?
269
+ is_nullable = self.class.openapi_nullable.include?(attr)
270
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
271
+ end
272
+
273
+ hash[param] = _to_hash(value)
274
+ end
275
+ hash
276
+ end
277
+
278
+ # Outputs non-array value in the form of hash
279
+ # For object, use to_hash. Otherwise, just return the value
280
+ # @param [Object] value Any valid value
281
+ # @return [Hash] Returns the value in the form of hash
282
+ def _to_hash(value)
283
+ if value.is_a?(Array)
284
+ value.compact.map { |v| _to_hash(v) }
285
+ elsif value.is_a?(Hash)
286
+ {}.tap do |hash|
287
+ value.each { |k, v| hash[k] = _to_hash(v) }
288
+ end
289
+ elsif value.respond_to? :to_hash
290
+ value.to_hash
291
+ else
292
+ value
293
+ end
294
+ end
295
+
296
+ end
297
+
298
+ end
@@ -0,0 +1,50 @@
1
+ =begin
2
+ #Merge ATS API
3
+
4
+ #The unified API for building rich integrations with multiple Applicant Tracking System platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeATSClient
17
+ class ConditionTypeEnum
18
+ BOOLEAN = "BOOLEAN".freeze
19
+ DATE = "DATE".freeze
20
+ DATE_TIME = "DATE_TIME".freeze
21
+ INTEGER = "INTEGER".freeze
22
+ FLOAT = "FLOAT".freeze
23
+ STRING = "STRING".freeze
24
+ LIST_OF_STRINGS = "LIST_OF_STRINGS".freeze
25
+
26
+ MERGE_NONSTANDARD_VALUE = "MERGE_NONSTANDARD_VALUE".freeze
27
+
28
+ attr_accessor :value
29
+ attr_accessor :raw_value
30
+
31
+ # Builds the enum from string
32
+ # @param [String] The enum value in the form of the string
33
+ # @return [String] The enum value
34
+ def build_from_hash(value)
35
+ @raw_value = value
36
+ if ["BOOLEAN", "DATE", "DATE_TIME", "INTEGER", "FLOAT", "STRING", "LIST_OF_STRINGS", ].include? value
37
+ @value = value
38
+ else
39
+ @value = MERGE_NONSTANDARD_VALUE
40
+ end
41
+
42
+ self
43
+ end
44
+
45
+ def self.build_from_hash(value)
46
+ ConditionTypeEnum.new.build_from_hash(value)
47
+ end
48
+ end
49
+
50
+ end
@@ -32,6 +32,7 @@ module MergeATSClient
32
32
 
33
33
  attr_accessor :request_format
34
34
 
35
+ # Optional. If true, the response will always be an object of the form `{\"type\": T, \"value\": ...}` where `T` will be one of `string, boolean, number, null, array, object`.
35
36
  attr_accessor :normalize_response
36
37
 
37
38
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -24,19 +24,26 @@ module MergeATSClient
24
24
  # The department's name.
25
25
  attr_accessor :name
26
26
 
27
- attr_accessor :remote_data
28
-
29
27
  # Indicates whether or not this object has been deleted by third party webhooks.
30
28
  attr_accessor :remote_was_deleted
31
29
 
30
+ attr_accessor :field_mappings
31
+
32
+ # This is the datetime that this object was last updated by Merge
33
+ attr_accessor :modified_at
34
+
35
+ attr_accessor :remote_data
36
+
32
37
  # Attribute mapping from ruby-style variable name to JSON key.
33
38
  def self.attribute_map
34
39
  {
35
40
  :'id' => :'id',
36
41
  :'remote_id' => :'remote_id',
37
42
  :'name' => :'name',
38
- :'remote_data' => :'remote_data',
39
- :'remote_was_deleted' => :'remote_was_deleted'
43
+ :'remote_was_deleted' => :'remote_was_deleted',
44
+ :'field_mappings' => :'field_mappings',
45
+ :'modified_at' => :'modified_at',
46
+ :'remote_data' => :'remote_data'
40
47
  }
41
48
  end
42
49
 
@@ -51,8 +58,10 @@ module MergeATSClient
51
58
  :'id' => :'String',
52
59
  :'remote_id' => :'String',
53
60
  :'name' => :'String',
54
- :'remote_data' => :'Array<RemoteData>',
55
- :'remote_was_deleted' => :'Boolean'
61
+ :'remote_was_deleted' => :'Boolean',
62
+ :'field_mappings' => :'Hash<String, Object>',
63
+ :'modified_at' => :'Time',
64
+ :'remote_data' => :'Array<RemoteData>'
56
65
  }
57
66
  end
58
67
 
@@ -61,7 +70,8 @@ module MergeATSClient
61
70
  Set.new([
62
71
  :'remote_id',
63
72
  :'name',
64
- :'remote_data',
73
+ :'field_mappings',
74
+ :'remote_data'
65
75
  ])
66
76
  end
67
77
 
@@ -92,15 +102,25 @@ module MergeATSClient
92
102
  self.name = attributes[:'name']
93
103
  end
94
104
 
105
+ if attributes.key?(:'remote_was_deleted')
106
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
107
+ end
108
+
109
+ if attributes.key?(:'field_mappings')
110
+ if (value = attributes[:'field_mappings']).is_a?(Hash)
111
+ self.field_mappings = value
112
+ end
113
+ end
114
+
115
+ if attributes.key?(:'modified_at')
116
+ self.modified_at = attributes[:'modified_at']
117
+ end
118
+
95
119
  if attributes.key?(:'remote_data')
96
120
  if (value = attributes[:'remote_data']).is_a?(Array)
97
121
  self.remote_data = value
98
122
  end
99
123
  end
100
-
101
- if attributes.key?(:'remote_was_deleted')
102
- self.remote_was_deleted = attributes[:'remote_was_deleted']
103
- end
104
124
  end
105
125
 
106
126
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -124,8 +144,10 @@ module MergeATSClient
124
144
  id == o.id &&
125
145
  remote_id == o.remote_id &&
126
146
  name == o.name &&
127
- remote_data == o.remote_data &&
128
- remote_was_deleted == o.remote_was_deleted
147
+ remote_was_deleted == o.remote_was_deleted &&
148
+ field_mappings == o.field_mappings &&
149
+ modified_at == o.modified_at &&
150
+ remote_data == o.remote_data
129
151
  end
130
152
 
131
153
  # @see the `==` method
@@ -137,7 +159,7 @@ module MergeATSClient
137
159
  # Calculates hash code according to all attributes.
138
160
  # @return [Integer] Hash code
139
161
  def hash
140
- [id, remote_id, name, remote_data, remote_was_deleted].hash
162
+ [id, remote_id, name, remote_was_deleted, field_mappings, modified_at, remote_data].hash
141
163
  end
142
164
 
143
165
  # Builds the object from hash
@@ -39,7 +39,7 @@ module MergeATSClient
39
39
  end
40
40
 
41
41
  def self.build_from_hash(value)
42
- IssueStatusEnum.new.build_from_hash(value)
42
+ DisabilityStatusEnum.new.build_from_hash(value)
43
43
  end
44
44
  end
45
45
 
@@ -14,35 +14,41 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module MergeATSClient
17
- # # The EEOC Object ### Description The `EEOC` object is used to represent the Equal Employment Opportunity Commission information for a candidate. ### Usage Example Fetch from the `LIST EEOCs` endpoint and filter by `candidate` to show all EEOC information for a candidate.
17
+ # # The EEOC Object ### Description The `EEOC` object is used to represent the Equal Employment Opportunity Commission information for a candidate (race, gender, veteran status, disability status). ### Usage Example Fetch from the `LIST EEOCs` endpoint and filter by `candidate` to show all EEOC information for a candidate.
18
18
  class EEOC
19
19
  attr_accessor :id
20
20
 
21
21
  # The third-party API ID of the matching object.
22
22
  attr_accessor :remote_id
23
23
 
24
+ # The candidate being represented.
24
25
  attr_accessor :candidate
25
26
 
26
27
  # When the information was submitted.
27
28
  attr_accessor :submitted_at
28
29
 
29
- # The candidate's race.
30
+ # The candidate's race. * `AMERICAN_INDIAN_OR_ALASKAN_NATIVE` - AMERICAN_INDIAN_OR_ALASKAN_NATIVE * `ASIAN` - ASIAN * `BLACK_OR_AFRICAN_AMERICAN` - BLACK_OR_AFRICAN_AMERICAN * `HISPANIC_OR_LATINO` - HISPANIC_OR_LATINO * `WHITE` - WHITE * `NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER` - NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER * `TWO_OR_MORE_RACES` - TWO_OR_MORE_RACES * `DECLINE_TO_SELF_IDENTIFY` - DECLINE_TO_SELF_IDENTIFY
30
31
  attr_accessor :race
31
32
 
32
- # The candidate's gender.
33
+ # The candidate's gender. * `MALE` - MALE * `FEMALE` - FEMALE * `NON-BINARY` - NON-BINARY * `OTHER` - OTHER * `DECLINE_TO_SELF_IDENTIFY` - DECLINE_TO_SELF_IDENTIFY
33
34
  attr_accessor :gender
34
35
 
35
- # The candidate's veteran status.
36
+ # The candidate's veteran status. * `I_AM_NOT_A_PROTECTED_VETERAN` - I_AM_NOT_A_PROTECTED_VETERAN * `I_IDENTIFY_AS_ONE_OR_MORE_OF_THE_CLASSIFICATIONS_OF_A_PROTECTED_VETERAN` - I_IDENTIFY_AS_ONE_OR_MORE_OF_THE_CLASSIFICATIONS_OF_A_PROTECTED_VETERAN * `I_DONT_WISH_TO_ANSWER` - I_DONT_WISH_TO_ANSWER
36
37
  attr_accessor :veteran_status
37
38
 
38
- # The candidate's disability status.
39
+ # The candidate's disability status. * `YES_I_HAVE_A_DISABILITY_OR_PREVIOUSLY_HAD_A_DISABILITY` - YES_I_HAVE_A_DISABILITY_OR_PREVIOUSLY_HAD_A_DISABILITY * `NO_I_DONT_HAVE_A_DISABILITY` - NO_I_DONT_HAVE_A_DISABILITY * `I_DONT_WISH_TO_ANSWER` - I_DONT_WISH_TO_ANSWER
39
40
  attr_accessor :disability_status
40
41
 
41
- attr_accessor :remote_data
42
-
43
42
  # Indicates whether or not this object has been deleted by third party webhooks.
44
43
  attr_accessor :remote_was_deleted
45
44
 
45
+ attr_accessor :field_mappings
46
+
47
+ # This is the datetime that this object was last updated by Merge
48
+ attr_accessor :modified_at
49
+
50
+ attr_accessor :remote_data
51
+
46
52
  # Attribute mapping from ruby-style variable name to JSON key.
47
53
  def self.attribute_map
48
54
  {
@@ -54,8 +60,10 @@ module MergeATSClient
54
60
  :'gender' => :'gender',
55
61
  :'veteran_status' => :'veteran_status',
56
62
  :'disability_status' => :'disability_status',
57
- :'remote_data' => :'remote_data',
58
- :'remote_was_deleted' => :'remote_was_deleted'
63
+ :'remote_was_deleted' => :'remote_was_deleted',
64
+ :'field_mappings' => :'field_mappings',
65
+ :'modified_at' => :'modified_at',
66
+ :'remote_data' => :'remote_data'
59
67
  }
60
68
  end
61
69
 
@@ -75,8 +83,10 @@ module MergeATSClient
75
83
  :'gender' => :'GenderEnum',
76
84
  :'veteran_status' => :'VeteranStatusEnum',
77
85
  :'disability_status' => :'DisabilityStatusEnum',
78
- :'remote_data' => :'Array<RemoteData>',
79
- :'remote_was_deleted' => :'Boolean'
86
+ :'remote_was_deleted' => :'Boolean',
87
+ :'field_mappings' => :'Hash<String, Object>',
88
+ :'modified_at' => :'Time',
89
+ :'remote_data' => :'Array<RemoteData>'
80
90
  }
81
91
  end
82
92
 
@@ -90,7 +100,8 @@ module MergeATSClient
90
100
  :'gender',
91
101
  :'veteran_status',
92
102
  :'disability_status',
93
- :'remote_data',
103
+ :'field_mappings',
104
+ :'remote_data'
94
105
  ])
95
106
  end
96
107
 
@@ -141,15 +152,25 @@ module MergeATSClient
141
152
  self.disability_status = attributes[:'disability_status']
142
153
  end
143
154
 
155
+ if attributes.key?(:'remote_was_deleted')
156
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
157
+ end
158
+
159
+ if attributes.key?(:'field_mappings')
160
+ if (value = attributes[:'field_mappings']).is_a?(Hash)
161
+ self.field_mappings = value
162
+ end
163
+ end
164
+
165
+ if attributes.key?(:'modified_at')
166
+ self.modified_at = attributes[:'modified_at']
167
+ end
168
+
144
169
  if attributes.key?(:'remote_data')
145
170
  if (value = attributes[:'remote_data']).is_a?(Array)
146
171
  self.remote_data = value
147
172
  end
148
173
  end
149
-
150
- if attributes.key?(:'remote_was_deleted')
151
- self.remote_was_deleted = attributes[:'remote_was_deleted']
152
- end
153
174
  end
154
175
 
155
176
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -178,8 +199,10 @@ module MergeATSClient
178
199
  gender == o.gender &&
179
200
  veteran_status == o.veteran_status &&
180
201
  disability_status == o.disability_status &&
181
- remote_data == o.remote_data &&
182
- remote_was_deleted == o.remote_was_deleted
202
+ remote_was_deleted == o.remote_was_deleted &&
203
+ field_mappings == o.field_mappings &&
204
+ modified_at == o.modified_at &&
205
+ remote_data == o.remote_data
183
206
  end
184
207
 
185
208
  # @see the `==` method
@@ -191,7 +214,7 @@ module MergeATSClient
191
214
  # Calculates hash code according to all attributes.
192
215
  # @return [Integer] Hash code
193
216
  def hash
194
- [id, remote_id, candidate, submitted_at, race, gender, veteran_status, disability_status, remote_data, remote_was_deleted].hash
217
+ [id, remote_id, candidate, submitted_at, race, gender, veteran_status, disability_status, remote_was_deleted, field_mappings, modified_at, remote_data].hash
195
218
  end
196
219
 
197
220
  # Builds the object from hash
@@ -19,14 +19,18 @@ module MergeATSClient
19
19
  # The email address.
20
20
  attr_accessor :value
21
21
 
22
- # The type of email address.
22
+ # The type of email address. * `PERSONAL` - PERSONAL * `WORK` - WORK * `OTHER` - OTHER
23
23
  attr_accessor :email_address_type
24
24
 
25
+ # This is the datetime that this object was last updated by Merge
26
+ attr_accessor :modified_at
27
+
25
28
  # Attribute mapping from ruby-style variable name to JSON key.
26
29
  def self.attribute_map
27
30
  {
28
31
  :'value' => :'value',
29
- :'email_address_type' => :'email_address_type'
32
+ :'email_address_type' => :'email_address_type',
33
+ :'modified_at' => :'modified_at'
30
34
  }
31
35
  end
32
36
 
@@ -39,7 +43,8 @@ module MergeATSClient
39
43
  def self.openapi_types
40
44
  {
41
45
  :'value' => :'String',
42
- :'email_address_type' => :'EmailAddressTypeEnum'
46
+ :'email_address_type' => :'EmailAddressTypeEnum',
47
+ :'modified_at' => :'Time'
43
48
  }
44
49
  end
45
50
 
@@ -47,7 +52,7 @@ module MergeATSClient
47
52
  def self.openapi_nullable
48
53
  Set.new([
49
54
  :'value',
50
- :'email_address_type'
55
+ :'email_address_type',
51
56
  ])
52
57
  end
53
58
 
@@ -73,6 +78,10 @@ module MergeATSClient
73
78
  if attributes.key?(:'email_address_type')
74
79
  self.email_address_type = attributes[:'email_address_type']
75
80
  end
81
+
82
+ if attributes.key?(:'modified_at')
83
+ self.modified_at = attributes[:'modified_at']
84
+ end
76
85
  end
77
86
 
78
87
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -109,7 +118,8 @@ module MergeATSClient
109
118
  return true if self.equal?(o)
110
119
  self.class == o.class &&
111
120
  value == o.value &&
112
- email_address_type == o.email_address_type
121
+ email_address_type == o.email_address_type &&
122
+ modified_at == o.modified_at
113
123
  end
114
124
 
115
125
  # @see the `==` method
@@ -121,7 +131,7 @@ module MergeATSClient
121
131
  # Calculates hash code according to all attributes.
122
132
  # @return [Integer] Hash code
123
133
  def hash
124
- [value, email_address_type].hash
134
+ [value, email_address_type, modified_at].hash
125
135
  end
126
136
 
127
137
  # Builds the object from hash