merge_hris_client 2.0.4 → 3.2.2

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 (380) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +67 -10
  3. data/docs/AccountDetails.md +5 -1
  4. data/docs/AccountDetailsAndActions.md +9 -3
  5. data/docs/AccountIntegration.md +10 -2
  6. data/docs/AdvancedMetadata.md +28 -0
  7. data/docs/AsyncPassthroughApi.md +155 -0
  8. data/docs/AsyncPassthroughReciept.md +18 -0
  9. data/docs/AuditLogEvent.md +32 -0
  10. data/docs/AuditTrailApi.md +91 -0
  11. data/docs/BankInfo.md +11 -5
  12. data/docs/BankInfoApi.md +17 -13
  13. data/docs/Benefit.md +17 -5
  14. data/docs/BenefitPlanTypeEnum.md +15 -0
  15. data/docs/BenefitsApi.md +6 -6
  16. data/docs/CommonModelScopeAPI.md +18 -0
  17. data/docs/CommonModelScopeData.md +20 -0
  18. data/docs/CommonModelScopes.md +20 -0
  19. data/docs/CommonModelScopesApi.md +157 -0
  20. data/docs/CommonModelScopesBodyRequest.md +22 -0
  21. data/docs/CommonModelScopesDisabledModels.md +26 -0
  22. data/docs/CommonModelScopesDisabledModelsEnabledActionsEnum.md +15 -0
  23. data/docs/CommonModelScopesPostInnerDeserializerRequest.md +22 -0
  24. data/docs/CommonModelScopesUpdateSerializer.md +18 -0
  25. data/docs/CompaniesApi.md +4 -4
  26. data/docs/Company.md +9 -3
  27. data/docs/ConditionSchema.md +30 -0
  28. data/docs/ConditionTypeEnum.md +15 -0
  29. data/docs/CreateFieldMappingRequest.md +28 -0
  30. data/docs/DataPassthroughRequest.md +5 -5
  31. data/docs/DebugModelLogSummary.md +1 -1
  32. data/docs/Deduction.md +13 -5
  33. data/docs/DeleteAccountApi.md +9 -9
  34. data/docs/Dependent.md +52 -0
  35. data/docs/DependentsApi.md +181 -0
  36. data/docs/Earning.md +13 -5
  37. data/docs/Employee.md +27 -15
  38. data/docs/EmployeePayrollRun.md +13 -7
  39. data/docs/EmployeePayrollRunsApi.md +4 -4
  40. data/docs/EmployeeRequest.md +20 -16
  41. data/docs/EmployeesApi.md +37 -18
  42. data/docs/EmployerBenefit.md +38 -0
  43. data/docs/EmployerBenefitsApi.md +177 -0
  44. data/docs/Employment.md +16 -10
  45. data/docs/EmploymentsApi.md +15 -11
  46. data/docs/EnabledActionsEnum.md +15 -0
  47. data/docs/EndUserDetailsRequest.md +22 -12
  48. data/docs/EventTypeEnum.md +15 -0
  49. data/docs/ExternalTargetFieldAPI.md +22 -0
  50. data/docs/ExternalTargetFieldAPIResponse.md +48 -0
  51. data/docs/FieldMappingApi.md +455 -0
  52. data/docs/FieldMappingApiInstance.md +24 -0
  53. data/docs/FieldMappingApiInstanceRemoteField.md +22 -0
  54. data/docs/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.md +22 -0
  55. data/docs/FieldMappingApiInstanceResponse.md +48 -0
  56. data/docs/FieldMappingApiInstanceTargetField.md +22 -0
  57. data/docs/FieldMappingInstanceResponse.md +24 -0
  58. data/docs/FieldPermissionDeserializer.md +20 -0
  59. data/docs/FieldPermissionDeserializerRequest.md +20 -0
  60. data/docs/ForceResyncApi.md +1 -1
  61. data/docs/GenerateRemoteKeyRequest.md +1 -1
  62. data/docs/Group.md +12 -4
  63. data/docs/GroupsApi.md +19 -9
  64. data/docs/IndividualCommonModelScopeDeserializer.md +22 -0
  65. data/docs/IndividualCommonModelScopeDeserializerRequest.md +22 -0
  66. data/docs/Issue.md +10 -8
  67. data/docs/IssuesApi.md +11 -9
  68. data/docs/LinkToken.md +4 -2
  69. data/docs/LinkTokenApi.md +1 -1
  70. data/docs/LinkedAccountCommonModelScopeDeserializerRequest.md +18 -0
  71. data/docs/LinkedAccountCondition.md +28 -0
  72. data/docs/LinkedAccountConditionRequest.md +22 -0
  73. data/docs/LinkedAccountSelectiveSyncConfiguration.md +18 -0
  74. data/docs/LinkedAccountSelectiveSyncConfigurationListRequest.md +18 -0
  75. data/docs/LinkedAccountSelectiveSyncConfigurationRequest.md +18 -0
  76. data/docs/LinkedAccountsApi.md +4 -2
  77. data/docs/Location.md +12 -6
  78. data/docs/LocationsApi.md +15 -9
  79. data/docs/MetaResponse.md +3 -1
  80. data/docs/ModelPermissionDeserializer.md +18 -0
  81. data/docs/ModelPermissionDeserializerRequest.md +18 -0
  82. data/docs/MultipartFormFieldRequest.md +1 -1
  83. data/docs/OperatorSchema.md +20 -0
  84. data/docs/PaginatedAuditLogEventList.md +22 -0
  85. data/docs/PaginatedConditionSchemaList.md +22 -0
  86. data/docs/PaginatedDependentList.md +22 -0
  87. data/docs/PaginatedEmployerBenefitList.md +22 -0
  88. data/docs/PaginatedTimesheetEntryList.md +22 -0
  89. data/docs/PatchedEditFieldMappingRequest.md +22 -0
  90. data/docs/PayGroup.md +9 -3
  91. data/docs/PayGroupsApi.md +4 -4
  92. data/docs/PayrollRun.md +11 -5
  93. data/docs/PayrollRunsApi.md +14 -10
  94. data/docs/RelationshipEnum.md +15 -0
  95. data/docs/RemoteData.md +1 -1
  96. data/docs/RemoteEndpointInfo.md +22 -0
  97. data/docs/RemoteFieldAPI.md +28 -0
  98. data/docs/RemoteFieldAPIResponse.md +48 -0
  99. data/docs/RemoteKeyForRegenerationRequest.md +1 -1
  100. data/docs/RemoteResponse.md +3 -1
  101. data/docs/ResponseTypeEnum.md +15 -0
  102. data/docs/RoleEnum.md +15 -0
  103. data/docs/ScopesApi.md +222 -0
  104. data/docs/SelectiveSyncApi.md +233 -0
  105. data/docs/SelectiveSyncConfigurationsUsageEnum.md +15 -0
  106. data/docs/SyncStatus.md +7 -5
  107. data/docs/SyncStatusApi.md +1 -1
  108. data/docs/Tax.md +12 -4
  109. data/docs/Team.md +10 -4
  110. data/docs/TeamsApi.md +4 -4
  111. data/docs/TimeOff.md +15 -9
  112. data/docs/TimeOffApi.md +24 -12
  113. data/docs/TimeOffBalance.md +12 -6
  114. data/docs/TimeOffBalancesApi.md +15 -11
  115. data/docs/TimeOffRequest.md +11 -9
  116. data/docs/TimesheetEntriesApi.md +341 -0
  117. data/docs/TimesheetEntry.md +38 -0
  118. data/docs/TimesheetEntryEndpointRequest.md +18 -0
  119. data/docs/TimesheetEntryRequest.md +28 -0
  120. data/docs/TimesheetEntryResponse.md +24 -0
  121. data/lib/merge_hris_client/api/async_passthrough_api.rb +160 -0
  122. data/lib/merge_hris_client/api/audit_trail_api.rb +95 -0
  123. data/lib/merge_hris_client/api/bank_info_api.rb +26 -12
  124. data/lib/merge_hris_client/api/benefits_api.rb +6 -6
  125. data/lib/merge_hris_client/api/common_model_scopes_api.rb +146 -0
  126. data/lib/merge_hris_client/api/companies_api.rb +4 -4
  127. data/lib/merge_hris_client/api/delete_account_api.rb +7 -7
  128. data/lib/merge_hris_client/api/dependents_api.rb +188 -0
  129. data/lib/merge_hris_client/api/employee_payroll_runs_api.rb +4 -4
  130. data/lib/merge_hris_client/api/employees_api.rb +53 -17
  131. data/lib/merge_hris_client/api/employer_benefits_api.rb +182 -0
  132. data/lib/merge_hris_client/api/employments_api.rb +24 -10
  133. data/lib/merge_hris_client/api/field_mapping_api.rb +424 -0
  134. data/lib/merge_hris_client/api/force_resync_api.rb +2 -2
  135. data/lib/merge_hris_client/api/groups_api.rb +31 -8
  136. data/lib/merge_hris_client/api/issues_api.rb +13 -10
  137. data/lib/merge_hris_client/api/linked_accounts_api.rb +6 -3
  138. data/lib/merge_hris_client/api/locations_api.rb +29 -8
  139. data/lib/merge_hris_client/api/pay_groups_api.rb +4 -4
  140. data/lib/merge_hris_client/api/payroll_runs_api.rb +24 -10
  141. data/lib/merge_hris_client/api/scopes_api.rb +209 -0
  142. data/lib/merge_hris_client/api/selective_sync_api.rb +225 -0
  143. data/lib/merge_hris_client/api/sync_status_api.rb +2 -2
  144. data/lib/merge_hris_client/api/teams_api.rb +4 -4
  145. data/lib/merge_hris_client/api/time_off_api.rb +38 -12
  146. data/lib/merge_hris_client/api/time_off_balances_api.rb +24 -10
  147. data/lib/merge_hris_client/api/timesheet_entries_api.rb +342 -0
  148. data/lib/merge_hris_client/configuration.rb +4 -0
  149. data/lib/merge_hris_client/models/account_details.rb +24 -4
  150. data/lib/merge_hris_client/models/account_details_and_actions.rb +39 -4
  151. data/lib/merge_hris_client/models/account_details_and_actions_status_enum.rb +17 -7
  152. data/lib/merge_hris_client/models/account_integration.rb +52 -8
  153. data/lib/merge_hris_client/models/account_type_enum.rb +17 -7
  154. data/lib/merge_hris_client/models/advanced_metadata.rb +270 -0
  155. data/lib/merge_hris_client/models/async_passthrough_reciept.rb +223 -0
  156. data/lib/merge_hris_client/models/audit_log_event.rb +356 -0
  157. data/lib/merge_hris_client/models/bank_info.rb +48 -17
  158. data/lib/merge_hris_client/models/benefit.rb +79 -15
  159. data/lib/merge_hris_client/models/benefit_plan_type_enum.rb +48 -0
  160. data/lib/merge_hris_client/models/categories_enum.rb +19 -7
  161. data/lib/merge_hris_client/models/category_enum.rb +19 -7
  162. data/lib/merge_hris_client/models/common_model_scope_api.rb +226 -0
  163. data/lib/merge_hris_client/models/common_model_scope_data.rb +234 -0
  164. data/lib/merge_hris_client/models/common_model_scopes.rb +234 -0
  165. data/lib/merge_hris_client/models/common_model_scopes_body_request.rb +274 -0
  166. data/lib/merge_hris_client/models/common_model_scopes_disabled_models.rb +283 -0
  167. data/lib/merge_hris_client/models/common_model_scopes_disabled_models_enabled_actions_enum.rb +45 -0
  168. data/lib/merge_hris_client/models/common_model_scopes_post_inner_deserializer_request.rb +274 -0
  169. data/lib/merge_hris_client/models/common_model_scopes_update_serializer.rb +226 -0
  170. data/lib/merge_hris_client/models/company.rb +46 -16
  171. data/lib/merge_hris_client/models/condition_schema.rb +298 -0
  172. data/lib/merge_hris_client/models/condition_type_enum.rb +50 -0
  173. data/lib/merge_hris_client/models/country_enum.rb +17 -7
  174. data/lib/merge_hris_client/models/create_field_mapping_request.rb +396 -0
  175. data/lib/merge_hris_client/models/data_passthrough_request.rb +5 -1
  176. data/lib/merge_hris_client/models/deduction.rb +59 -18
  177. data/lib/merge_hris_client/models/dependent.rb +478 -0
  178. data/lib/merge_hris_client/models/earning.rb +58 -17
  179. data/lib/merge_hris_client/models/earning_type_enum.rb +17 -7
  180. data/lib/merge_hris_client/models/employee.rb +93 -24
  181. data/lib/merge_hris_client/models/employee_payroll_run.rb +50 -18
  182. data/lib/merge_hris_client/models/employee_request.rb +56 -28
  183. data/lib/merge_hris_client/models/employer_benefit.rb +371 -0
  184. data/lib/merge_hris_client/models/employment.rb +53 -21
  185. data/lib/merge_hris_client/models/employment_status_enum.rb +17 -7
  186. data/lib/merge_hris_client/models/employment_type_enum.rb +17 -7
  187. data/lib/merge_hris_client/models/enabled_actions_enum.rb +45 -0
  188. data/lib/merge_hris_client/models/encoding_enum.rb +17 -7
  189. data/lib/merge_hris_client/models/end_user_details_request.rb +102 -11
  190. data/lib/merge_hris_client/models/ethnicity_enum.rb +17 -7
  191. data/lib/merge_hris_client/models/event_type_enum.rb +81 -0
  192. data/lib/merge_hris_client/models/external_target_field_api.rb +239 -0
  193. data/lib/merge_hris_client/models/external_target_field_api_response.rb +385 -0
  194. data/lib/merge_hris_client/models/field_mapping_api_instance.rb +247 -0
  195. data/lib/merge_hris_client/models/field_mapping_api_instance_remote_field.rb +253 -0
  196. data/lib/merge_hris_client/models/field_mapping_api_instance_remote_field_remote_endpoint_info.rb +241 -0
  197. data/lib/merge_hris_client/models/field_mapping_api_instance_response.rb +385 -0
  198. data/lib/merge_hris_client/models/field_mapping_api_instance_target_field.rb +251 -0
  199. data/lib/merge_hris_client/models/field_mapping_instance_response.rb +266 -0
  200. data/lib/merge_hris_client/models/field_permission_deserializer.rb +231 -0
  201. data/lib/merge_hris_client/models/field_permission_deserializer_request.rb +231 -0
  202. data/lib/merge_hris_client/models/flsa_status_enum.rb +17 -7
  203. data/lib/merge_hris_client/models/gender_enum.rb +17 -7
  204. data/lib/merge_hris_client/models/generate_remote_key_request.rb +1 -0
  205. data/lib/merge_hris_client/models/group.rb +58 -17
  206. data/lib/merge_hris_client/models/group_type_enum.rb +18 -7
  207. data/lib/merge_hris_client/models/individual_common_model_scope_deserializer.rb +243 -0
  208. data/lib/merge_hris_client/models/individual_common_model_scope_deserializer_request.rb +262 -0
  209. data/lib/merge_hris_client/models/issue.rb +17 -5
  210. data/lib/merge_hris_client/models/issue_status_enum.rb +17 -7
  211. data/lib/merge_hris_client/models/link_token.rb +13 -9
  212. data/lib/merge_hris_client/models/linked_account_common_model_scope_deserializer_request.rb +226 -0
  213. data/lib/merge_hris_client/models/linked_account_condition.rb +282 -0
  214. data/lib/merge_hris_client/models/linked_account_condition_request.rb +269 -0
  215. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration.rb +221 -0
  216. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration_list_request.rb +226 -0
  217. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration_request.rb +226 -0
  218. data/lib/merge_hris_client/models/location.rb +48 -18
  219. data/lib/merge_hris_client/models/location_type_enum.rb +17 -7
  220. data/lib/merge_hris_client/models/marital_status_enum.rb +17 -7
  221. data/lib/merge_hris_client/models/meta_response.rb +13 -2
  222. data/lib/merge_hris_client/models/method_enum.rb +17 -7
  223. data/lib/merge_hris_client/models/model_permission_deserializer.rb +218 -0
  224. data/lib/merge_hris_client/models/model_permission_deserializer_request.rb +218 -0
  225. data/lib/merge_hris_client/models/multipart_form_field_request.rb +1 -1
  226. data/lib/merge_hris_client/models/operator_schema.rb +229 -0
  227. data/lib/merge_hris_client/models/paginated_audit_log_event_list.rb +240 -0
  228. data/lib/merge_hris_client/models/paginated_condition_schema_list.rb +240 -0
  229. data/lib/merge_hris_client/models/paginated_dependent_list.rb +240 -0
  230. data/lib/merge_hris_client/models/paginated_employer_benefit_list.rb +240 -0
  231. data/lib/merge_hris_client/models/paginated_timesheet_entry_list.rb +240 -0
  232. data/lib/merge_hris_client/models/patched_edit_field_mapping_request.rb +271 -0
  233. data/lib/merge_hris_client/models/pay_currency_enum.rb +17 -7
  234. data/lib/merge_hris_client/models/pay_frequency_enum.rb +18 -7
  235. data/lib/merge_hris_client/models/pay_group.rb +46 -16
  236. data/lib/merge_hris_client/models/pay_period_enum.rb +18 -7
  237. data/lib/merge_hris_client/models/payroll_run.rb +48 -18
  238. data/lib/merge_hris_client/models/policy_type_enum.rb +17 -7
  239. data/lib/merge_hris_client/models/reason_enum.rb +17 -7
  240. data/lib/merge_hris_client/models/relationship_enum.rb +46 -0
  241. data/lib/merge_hris_client/models/remote_data.rb +3 -4
  242. data/lib/merge_hris_client/models/remote_endpoint_info.rb +253 -0
  243. data/lib/merge_hris_client/models/remote_field_api.rb +285 -0
  244. data/lib/merge_hris_client/models/remote_field_api_response.rb +385 -0
  245. data/lib/merge_hris_client/models/remote_key_for_regeneration_request.rb +1 -0
  246. data/lib/merge_hris_client/models/remote_response.rb +14 -11
  247. data/lib/merge_hris_client/models/request_format_enum.rb +17 -7
  248. data/lib/merge_hris_client/models/request_type_enum.rb +17 -7
  249. data/lib/merge_hris_client/models/response_type_enum.rb +45 -0
  250. data/lib/merge_hris_client/models/role_enum.rb +49 -0
  251. data/lib/merge_hris_client/models/run_state_enum.rb +17 -7
  252. data/lib/merge_hris_client/models/run_type_enum.rb +17 -7
  253. data/lib/merge_hris_client/models/selective_sync_configurations_usage_enum.rb +45 -0
  254. data/lib/merge_hris_client/models/sync_status.rb +13 -14
  255. data/lib/merge_hris_client/models/sync_status_status_enum.rb +19 -7
  256. data/lib/merge_hris_client/models/tax.rb +57 -16
  257. data/lib/merge_hris_client/models/team.rb +47 -16
  258. data/lib/merge_hris_client/models/time_off.rb +51 -19
  259. data/lib/merge_hris_client/models/time_off_balance.rb +49 -18
  260. data/lib/merge_hris_client/models/time_off_request.rb +36 -21
  261. data/lib/merge_hris_client/models/time_off_status_enum.rb +17 -7
  262. data/lib/merge_hris_client/models/timesheet_entry.rb +326 -0
  263. data/lib/merge_hris_client/models/timesheet_entry_endpoint_request.rb +223 -0
  264. data/lib/merge_hris_client/models/timesheet_entry_request.rb +278 -0
  265. data/lib/merge_hris_client/models/timesheet_entry_response.rb +266 -0
  266. data/lib/merge_hris_client/models/units_enum.rb +17 -7
  267. data/lib/merge_hris_client/version.rb +1 -1
  268. data/lib/merge_hris_client.rb +49 -4
  269. data/spec/api/async_passthrough_api_spec.rb +59 -0
  270. data/spec/api/audit_trail_api_spec.rb +51 -0
  271. data/spec/api/bank_info_api_spec.rb +8 -6
  272. data/spec/api/benefits_api_spec.rb +3 -3
  273. data/spec/api/common_model_scopes_api_spec.rb +58 -0
  274. data/spec/api/companies_api_spec.rb +2 -2
  275. data/spec/api/delete_account_api_spec.rb +2 -2
  276. data/spec/api/dependents_api_spec.rb +70 -0
  277. data/spec/api/employee_payroll_runs_api_spec.rb +2 -2
  278. data/spec/api/employees_api_spec.rb +16 -6
  279. data/spec/api/employer_benefits_api_spec.rb +68 -0
  280. data/spec/api/employments_api_spec.rb +7 -5
  281. data/spec/api/field_mapping_api_spec.rb +107 -0
  282. data/spec/api/force_resync_api_spec.rb +1 -1
  283. data/spec/api/groups_api_spec.rb +9 -4
  284. data/spec/api/issues_api_spec.rb +6 -5
  285. data/spec/api/linked_accounts_api_spec.rb +2 -1
  286. data/spec/api/locations_api_spec.rb +7 -4
  287. data/spec/api/pay_groups_api_spec.rb +2 -2
  288. data/spec/api/payroll_runs_api_spec.rb +7 -5
  289. data/spec/api/scopes_api_spec.rb +68 -0
  290. data/spec/api/selective_sync_api_spec.rb +72 -0
  291. data/spec/api/sync_status_api_spec.rb +1 -1
  292. data/spec/api/teams_api_spec.rb +2 -2
  293. data/spec/api/time_off_api_spec.rb +12 -6
  294. data/spec/api/time_off_balances_api_spec.rb +7 -5
  295. data/spec/api/timesheet_entries_api_spec.rb +99 -0
  296. data/spec/models/account_details_and_actions_spec.rb +18 -0
  297. data/spec/models/account_details_spec.rb +12 -0
  298. data/spec/models/account_integration_spec.rb +24 -0
  299. data/spec/models/advanced_metadata_spec.rb +64 -0
  300. data/spec/models/async_passthrough_reciept_spec.rb +34 -0
  301. data/spec/models/audit_log_event_spec.rb +76 -0
  302. data/spec/models/bank_info_spec.rb +24 -0
  303. data/spec/models/benefit_plan_type_enum_spec.rb +28 -0
  304. data/spec/models/benefit_spec.rb +42 -0
  305. data/spec/models/common_model_scope_api_spec.rb +34 -0
  306. data/spec/models/common_model_scope_data_spec.rb +40 -0
  307. data/spec/models/common_model_scopes_body_request_spec.rb +46 -0
  308. data/spec/models/common_model_scopes_disabled_models_enabled_actions_enum_spec.rb +28 -0
  309. data/spec/models/common_model_scopes_disabled_models_spec.rb +58 -0
  310. data/spec/models/common_model_scopes_post_inner_deserializer_request_spec.rb +46 -0
  311. data/spec/models/common_model_scopes_spec.rb +40 -0
  312. data/spec/models/common_model_scopes_update_serializer_spec.rb +34 -0
  313. data/spec/models/company_spec.rb +24 -0
  314. data/spec/models/condition_schema_spec.rb +70 -0
  315. data/spec/models/condition_type_enum_spec.rb +28 -0
  316. data/spec/models/create_field_mapping_request_spec.rb +64 -0
  317. data/spec/models/deduction_spec.rb +30 -0
  318. data/spec/models/dependent_spec.rb +136 -0
  319. data/spec/models/earning_spec.rb +30 -0
  320. data/spec/models/employee_payroll_run_spec.rb +24 -0
  321. data/spec/models/employee_request_spec.rb +18 -6
  322. data/spec/models/employee_spec.rb +42 -0
  323. data/spec/models/employer_benefit_spec.rb +94 -0
  324. data/spec/models/employment_spec.rb +24 -0
  325. data/spec/models/enabled_actions_enum_spec.rb +28 -0
  326. data/spec/models/end_user_details_request_spec.rb +30 -0
  327. data/spec/models/event_type_enum_spec.rb +28 -0
  328. data/spec/models/external_target_field_api_response_spec.rb +124 -0
  329. data/spec/models/external_target_field_api_spec.rb +46 -0
  330. data/spec/models/field_mapping_api_instance_remote_field_remote_endpoint_info_spec.rb +46 -0
  331. data/spec/models/field_mapping_api_instance_remote_field_spec.rb +46 -0
  332. data/spec/models/field_mapping_api_instance_response_spec.rb +124 -0
  333. data/spec/models/field_mapping_api_instance_spec.rb +52 -0
  334. data/spec/models/field_mapping_api_instance_target_field_spec.rb +46 -0
  335. data/spec/models/field_mapping_instance_response_spec.rb +52 -0
  336. data/spec/models/field_permission_deserializer_request_spec.rb +40 -0
  337. data/spec/models/field_permission_deserializer_spec.rb +40 -0
  338. data/spec/models/group_spec.rb +30 -0
  339. data/spec/models/individual_common_model_scope_deserializer_request_spec.rb +46 -0
  340. data/spec/models/individual_common_model_scope_deserializer_spec.rb +46 -0
  341. data/spec/models/issue_spec.rb +6 -0
  342. data/spec/models/link_token_spec.rb +6 -0
  343. data/spec/models/linked_account_common_model_scope_deserializer_request_spec.rb +34 -0
  344. data/spec/models/linked_account_condition_request_spec.rb +46 -0
  345. data/spec/models/linked_account_condition_spec.rb +64 -0
  346. data/spec/models/linked_account_selective_sync_configuration_list_request_spec.rb +34 -0
  347. data/spec/models/linked_account_selective_sync_configuration_request_spec.rb +34 -0
  348. data/spec/models/linked_account_selective_sync_configuration_spec.rb +34 -0
  349. data/spec/models/location_spec.rb +24 -0
  350. data/spec/models/meta_response_spec.rb +6 -0
  351. data/spec/models/model_permission_deserializer_request_spec.rb +34 -0
  352. data/spec/models/model_permission_deserializer_spec.rb +34 -0
  353. data/spec/models/operator_schema_spec.rb +40 -0
  354. data/spec/models/paginated_audit_log_event_list_spec.rb +46 -0
  355. data/spec/models/paginated_condition_schema_list_spec.rb +46 -0
  356. data/spec/models/paginated_dependent_list_spec.rb +46 -0
  357. data/spec/models/paginated_employer_benefit_list_spec.rb +46 -0
  358. data/spec/models/paginated_timesheet_entry_list_spec.rb +46 -0
  359. data/spec/models/patched_edit_field_mapping_request_spec.rb +46 -0
  360. data/spec/models/pay_group_spec.rb +24 -0
  361. data/spec/models/payroll_run_spec.rb +24 -0
  362. data/spec/models/relationship_enum_spec.rb +28 -0
  363. data/spec/models/remote_endpoint_info_spec.rb +46 -0
  364. data/spec/models/remote_field_api_response_spec.rb +124 -0
  365. data/spec/models/remote_field_api_spec.rb +64 -0
  366. data/spec/models/remote_response_spec.rb +6 -0
  367. data/spec/models/response_type_enum_spec.rb +28 -0
  368. data/spec/models/role_enum_spec.rb +28 -0
  369. data/spec/models/selective_sync_configurations_usage_enum_spec.rb +28 -0
  370. data/spec/models/sync_status_spec.rb +6 -0
  371. data/spec/models/tax_spec.rb +30 -0
  372. data/spec/models/team_spec.rb +24 -0
  373. data/spec/models/time_off_balance_spec.rb +24 -0
  374. data/spec/models/time_off_request_spec.rb +12 -6
  375. data/spec/models/time_off_spec.rb +24 -0
  376. data/spec/models/timesheet_entry_endpoint_request_spec.rb +34 -0
  377. data/spec/models/timesheet_entry_request_spec.rb +64 -0
  378. data/spec/models/timesheet_entry_response_spec.rb +52 -0
  379. data/spec/models/timesheet_entry_spec.rb +94 -0
  380. metadata +368 -104
@@ -18,7 +18,10 @@ module MergeHRISClient
18
18
  # Company name.
19
19
  attr_accessor :name
20
20
 
21
- # Category or categories this integration belongs to. Multiple categories should be comma separated.<br/><br>Example: For [ats, hris], enter <i>ats,hris</i>
21
+ # Optional. This shortened name appears in places with limited space, usually in conjunction with the platform's logo (e.g., Merge Link menu).<br><br>Example: <i>Workforce Now (in lieu of ADP Workforce Now), SuccessFactors (in lieu of SAP SuccessFactors)</i>
22
+ attr_accessor :abbreviated_name
23
+
24
+ # Category or categories this integration belongs to. Multiple categories should be comma separated, i.e. [ats, hris].
22
25
  attr_accessor :categories
23
26
 
24
27
  # Company logo in rectangular shape. <b>Upload an image with a clear background.</b>
@@ -32,15 +35,28 @@ module MergeHRISClient
32
35
 
33
36
  attr_accessor :slug
34
37
 
38
+ # Mapping of API endpoints to documentation urls for support. Example: {'GET': [['/common-model-scopes', 'https://docs.merge.dev/accounting/common-model-scopes/#common_model_scopes_retrieve'],['/common-model-actions', 'https://docs.merge.dev/accounting/common-model-actions/#common_model_actions_retrieve']], 'POST': []}
39
+ attr_accessor :api_endpoints_to_documentation_urls
40
+
41
+ # Setup guide URL for third party webhook creation. Exposed in Merge Docs.
42
+ attr_accessor :webhook_setup_guide_url
43
+
44
+ # Category or categories this integration is in beta status for.
45
+ attr_accessor :category_beta_status
46
+
35
47
  # Attribute mapping from ruby-style variable name to JSON key.
36
48
  def self.attribute_map
37
49
  {
38
50
  :'name' => :'name',
51
+ :'abbreviated_name' => :'abbreviated_name',
39
52
  :'categories' => :'categories',
40
53
  :'image' => :'image',
41
54
  :'square_image' => :'square_image',
42
55
  :'color' => :'color',
43
- :'slug' => :'slug'
56
+ :'slug' => :'slug',
57
+ :'api_endpoints_to_documentation_urls' => :'api_endpoints_to_documentation_urls',
58
+ :'webhook_setup_guide_url' => :'webhook_setup_guide_url',
59
+ :'category_beta_status' => :'category_beta_status'
44
60
  }
45
61
  end
46
62
 
@@ -53,19 +69,25 @@ module MergeHRISClient
53
69
  def self.openapi_types
54
70
  {
55
71
  :'name' => :'String',
72
+ :'abbreviated_name' => :'String',
56
73
  :'categories' => :'Array<CategoriesEnum>',
57
74
  :'image' => :'String',
58
75
  :'square_image' => :'String',
59
76
  :'color' => :'String',
60
- :'slug' => :'String'
77
+ :'slug' => :'String',
78
+ :'api_endpoints_to_documentation_urls' => :'Hash<String, Object>',
79
+ :'webhook_setup_guide_url' => :'String',
80
+ :'category_beta_status' => :'Object'
61
81
  }
62
82
  end
63
83
 
64
84
  # List of attributes with nullable: true
65
85
  def self.openapi_nullable
66
86
  Set.new([
87
+ :'abbreviated_name',
67
88
  :'image',
68
89
  :'square_image',
90
+ :'webhook_setup_guide_url',
69
91
  ])
70
92
  end
71
93
 
@@ -88,6 +110,10 @@ module MergeHRISClient
88
110
  self.name = attributes[:'name']
89
111
  end
90
112
 
113
+ if attributes.key?(:'abbreviated_name')
114
+ self.abbreviated_name = attributes[:'abbreviated_name']
115
+ end
116
+
91
117
  if attributes.key?(:'categories')
92
118
  if (value = attributes[:'categories']).is_a?(Array)
93
119
  self.categories = value
@@ -109,6 +135,20 @@ module MergeHRISClient
109
135
  if attributes.key?(:'slug')
110
136
  self.slug = attributes[:'slug']
111
137
  end
138
+
139
+ if attributes.key?(:'api_endpoints_to_documentation_urls')
140
+ if (value = attributes[:'api_endpoints_to_documentation_urls']).is_a?(Hash)
141
+ self.api_endpoints_to_documentation_urls = value
142
+ end
143
+ end
144
+
145
+ if attributes.key?(:'webhook_setup_guide_url')
146
+ self.webhook_setup_guide_url = attributes[:'webhook_setup_guide_url']
147
+ end
148
+
149
+ if attributes.key?(:'category_beta_status')
150
+ self.category_beta_status = attributes[:'category_beta_status']
151
+ end
112
152
  end
113
153
 
114
154
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -124,7 +164,7 @@ module MergeHRISClient
124
164
  end
125
165
 
126
166
  pattern = Regexp.new(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)
127
- if !@color.nil? && @color !~ pattern
167
+ if !@color.nil? && @color.to_s !~ pattern
128
168
  invalid_properties.push("invalid value for \"color\", must conform to the pattern #{pattern}.")
129
169
  end
130
170
 
@@ -136,7 +176,7 @@ module MergeHRISClient
136
176
  def valid?
137
177
  return false if @name.nil?
138
178
  return false if !@color.nil? && @color.to_s.length > 18
139
- return false if !@color.nil? && @color !~ Regexp.new(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)
179
+ return false if !@color.nil? && @color.to_s !~ Regexp.new(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)
140
180
  true
141
181
  end
142
182
 
@@ -148,7 +188,7 @@ module MergeHRISClient
148
188
  end
149
189
 
150
190
  pattern = Regexp.new(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)
151
- if !color.nil? && color !~ pattern
191
+ if !color.nil? && color.to_s !~ pattern
152
192
  fail ArgumentError, "invalid value for \"color\", must conform to the pattern #{pattern}."
153
193
  end
154
194
 
@@ -161,11 +201,15 @@ module MergeHRISClient
161
201
  return true if self.equal?(o)
162
202
  self.class == o.class &&
163
203
  name == o.name &&
204
+ abbreviated_name == o.abbreviated_name &&
164
205
  categories == o.categories &&
165
206
  image == o.image &&
166
207
  square_image == o.square_image &&
167
208
  color == o.color &&
168
- slug == o.slug
209
+ slug == o.slug &&
210
+ api_endpoints_to_documentation_urls == o.api_endpoints_to_documentation_urls &&
211
+ webhook_setup_guide_url == o.webhook_setup_guide_url &&
212
+ category_beta_status == o.category_beta_status
169
213
  end
170
214
 
171
215
  # @see the `==` method
@@ -177,7 +221,7 @@ module MergeHRISClient
177
221
  # Calculates hash code according to all attributes.
178
222
  # @return [Integer] Hash code
179
223
  def hash
180
- [name, categories, image, square_image, color, slug].hash
224
+ [name, abbreviated_name, categories, image, square_image, color, slug, api_endpoints_to_documentation_urls, webhook_setup_guide_url, category_beta_status].hash
181
225
  end
182
226
 
183
227
  # Builds the object from hash
@@ -18,18 +18,28 @@ module MergeHRISClient
18
18
  SAVINGS = "SAVINGS".freeze
19
19
  CHECKING = "CHECKING".freeze
20
20
 
21
- # Builds the enum from string
22
- # @param [String] The enum value in the form of the string
23
- # @return [String] The enum value
24
- def self.build_from_hash(value)
25
- new.build_from_hash(value)
26
- end
21
+ MERGE_NONSTANDARD_VALUE = "MERGE_NONSTANDARD_VALUE".freeze
22
+
23
+ attr_accessor :value
24
+ attr_accessor :raw_value
27
25
 
28
26
  # Builds the enum from string
29
27
  # @param [String] The enum value in the form of the string
30
28
  # @return [String] The enum value
31
29
  def build_from_hash(value)
32
- value
30
+ @raw_value = value
31
+ if ["SAVINGS", "CHECKING", ].include? value
32
+ @value = value
33
+ else
34
+ @value = MERGE_NONSTANDARD_VALUE
35
+ end
36
+
37
+ self
38
+ end
39
+
40
+ def self.build_from_hash(value)
41
+ AccountTypeEnum.new.build_from_hash(value)
33
42
  end
34
43
  end
44
+
35
45
  end
@@ -0,0 +1,270 @@
1
+ =begin
2
+ #Merge HRIS API
3
+
4
+ #The unified API for building rich integrations with multiple HR Information 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 MergeHRISClient
17
+ class AdvancedMetadata
18
+ attr_accessor :id
19
+
20
+ attr_accessor :display_name
21
+
22
+ attr_accessor :description
23
+
24
+ attr_accessor :is_required
25
+
26
+ attr_accessor :is_custom
27
+
28
+ attr_accessor :field_choices
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'id' => :'id',
34
+ :'display_name' => :'display_name',
35
+ :'description' => :'description',
36
+ :'is_required' => :'is_required',
37
+ :'is_custom' => :'is_custom',
38
+ :'field_choices' => :'field_choices'
39
+ }
40
+ end
41
+
42
+ # Returns all the JSON keys this model knows about
43
+ def self.acceptable_attributes
44
+ attribute_map.values
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.openapi_types
49
+ {
50
+ :'id' => :'String',
51
+ :'display_name' => :'String',
52
+ :'description' => :'String',
53
+ :'is_required' => :'Boolean',
54
+ :'is_custom' => :'Boolean',
55
+ :'field_choices' => :'Array<Object>'
56
+ }
57
+ end
58
+
59
+ # List of attributes with nullable: true
60
+ def self.openapi_nullable
61
+ Set.new([
62
+ ])
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ def initialize(attributes = {})
68
+ if (!attributes.is_a?(Hash))
69
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeHRISClient::AdvancedMetadata` initialize method"
70
+ end
71
+
72
+ # check to see if the attribute exists and convert string to symbol for hash key
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!self.class.attribute_map.key?(k.to_sym))
75
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeHRISClient::AdvancedMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ end
77
+ h[k.to_sym] = v
78
+ }
79
+
80
+ if attributes.key?(:'id')
81
+ self.id = attributes[:'id']
82
+ end
83
+
84
+ if attributes.key?(:'display_name')
85
+ self.display_name = attributes[:'display_name']
86
+ end
87
+
88
+ if attributes.key?(:'description')
89
+ self.description = attributes[:'description']
90
+ end
91
+
92
+ if attributes.key?(:'is_required')
93
+ self.is_required = attributes[:'is_required']
94
+ end
95
+
96
+ if attributes.key?(:'is_custom')
97
+ self.is_custom = attributes[:'is_custom']
98
+ end
99
+
100
+ if attributes.key?(:'field_choices')
101
+ if (value = attributes[:'field_choices']).is_a?(Array)
102
+ self.field_choices = value
103
+ end
104
+ end
105
+ end
106
+
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properties with the reasons
109
+ def list_invalid_properties
110
+ invalid_properties = Array.new
111
+ if @id.nil?
112
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
113
+ end
114
+
115
+ invalid_properties
116
+ end
117
+
118
+ # Check to see if the all the properties in the model are valid
119
+ # @return true if the model is valid
120
+ def valid?
121
+ return false if @id.nil?
122
+ true
123
+ end
124
+
125
+ # Checks equality by comparing each attribute.
126
+ # @param [Object] Object to be compared
127
+ def ==(o)
128
+ return true if self.equal?(o)
129
+ self.class == o.class &&
130
+ id == o.id &&
131
+ display_name == o.display_name &&
132
+ description == o.description &&
133
+ is_required == o.is_required &&
134
+ is_custom == o.is_custom &&
135
+ field_choices == o.field_choices
136
+ end
137
+
138
+ # @see the `==` method
139
+ # @param [Object] Object to be compared
140
+ def eql?(o)
141
+ self == o
142
+ end
143
+
144
+ # Calculates hash code according to all attributes.
145
+ # @return [Integer] Hash code
146
+ def hash
147
+ [id, display_name, description, is_required, is_custom, field_choices].hash
148
+ end
149
+
150
+ # Builds the object from hash
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ # @return [Object] Returns the model itself
153
+ def self.build_from_hash(attributes)
154
+ new.build_from_hash(attributes)
155
+ end
156
+
157
+ # Builds the object from hash
158
+ # @param [Hash] attributes Model attributes in the form of hash
159
+ # @return [Object] Returns the model itself
160
+ def build_from_hash(attributes)
161
+ return nil unless attributes.is_a?(Hash)
162
+ self.class.openapi_types.each_pair do |key, type|
163
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
164
+ self.send("#{key}=", nil)
165
+ elsif type =~ /\AArray<(.*)>/i
166
+ # check to ensure the input is an array given that the attribute
167
+ # is documented as an array but the input is not
168
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
169
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
170
+ end
171
+ elsif !attributes[self.class.attribute_map[key]].nil?
172
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
173
+ end
174
+ end
175
+
176
+ self
177
+ end
178
+
179
+ # Deserializes the data based on type
180
+ # @param string type Data type
181
+ # @param string value Value to be deserialized
182
+ # @return [Object] Deserialized data
183
+ def _deserialize(type, value)
184
+ case type.to_sym
185
+ when :Time
186
+ Time.parse(value)
187
+ when :Date
188
+ Date.parse(value)
189
+ when :String
190
+ value
191
+ when :Integer
192
+ value.to_i
193
+ when :Float
194
+ value.to_f
195
+ when :Boolean
196
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
197
+ true
198
+ else
199
+ false
200
+ end
201
+ when :Object
202
+ # generic object (usually a Hash), return directly
203
+ value
204
+ when /\AArray<(?<inner_type>.+)>\z/
205
+ inner_type = Regexp.last_match[:inner_type]
206
+ value.map { |v| _deserialize(inner_type, v) }
207
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
208
+ k_type = Regexp.last_match[:k_type]
209
+ v_type = Regexp.last_match[:v_type]
210
+ {}.tap do |hash|
211
+ value.each do |k, v|
212
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
213
+ end
214
+ end
215
+ else # model
216
+ # models (e.g. Pet) or oneOf
217
+ klass = MergeHRISClient.const_get(type)
218
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
219
+ end
220
+ end
221
+
222
+ # Returns the string representation of the object
223
+ # @return [String] String presentation of the object
224
+ def to_s
225
+ to_hash.to_s
226
+ end
227
+
228
+ # to_body is an alias to to_hash (backward compatibility)
229
+ # @return [Hash] Returns the object in the form of hash
230
+ def to_body
231
+ to_hash
232
+ end
233
+
234
+ # Returns the object in the form of hash
235
+ # @return [Hash] Returns the object in the form of hash
236
+ def to_hash
237
+ hash = {}
238
+ self.class.attribute_map.each_pair do |attr, param|
239
+ value = self.send(attr)
240
+ if value.nil?
241
+ is_nullable = self.class.openapi_nullable.include?(attr)
242
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
243
+ end
244
+
245
+ hash[param] = _to_hash(value)
246
+ end
247
+ hash
248
+ end
249
+
250
+ # Outputs non-array value in the form of hash
251
+ # For object, use to_hash. Otherwise, just return the value
252
+ # @param [Object] value Any valid value
253
+ # @return [Hash] Returns the value in the form of hash
254
+ def _to_hash(value)
255
+ if value.is_a?(Array)
256
+ value.compact.map { |v| _to_hash(v) }
257
+ elsif value.is_a?(Hash)
258
+ {}.tap do |hash|
259
+ value.each { |k, v| hash[k] = _to_hash(v) }
260
+ end
261
+ elsif value.respond_to? :to_hash
262
+ value.to_hash
263
+ else
264
+ value
265
+ end
266
+ end
267
+
268
+ end
269
+
270
+ end
@@ -0,0 +1,223 @@
1
+ =begin
2
+ #Merge HRIS API
3
+
4
+ #The unified API for building rich integrations with multiple HR Information 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 MergeHRISClient
17
+ class AsyncPassthroughReciept
18
+ attr_accessor :async_passthrough_receipt_id
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'async_passthrough_receipt_id' => :'async_passthrough_receipt_id'
24
+ }
25
+ end
26
+
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'async_passthrough_receipt_id' => :'String'
36
+ }
37
+ end
38
+
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
42
+ ])
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeHRISClient::AsyncPassthroughReciept` initialize method"
50
+ end
51
+
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeHRISClient::AsyncPassthroughReciept`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
59
+
60
+ if attributes.key?(:'async_passthrough_receipt_id')
61
+ self.async_passthrough_receipt_id = attributes[:'async_passthrough_receipt_id']
62
+ end
63
+ end
64
+
65
+ # Show invalid properties with the reasons. Usually used together with valid?
66
+ # @return Array for valid properties with the reasons
67
+ def list_invalid_properties
68
+ invalid_properties = Array.new
69
+ if @async_passthrough_receipt_id.nil?
70
+ invalid_properties.push('invalid value for "async_passthrough_receipt_id", async_passthrough_receipt_id cannot be nil.')
71
+ end
72
+
73
+ invalid_properties
74
+ end
75
+
76
+ # Check to see if the all the properties in the model are valid
77
+ # @return true if the model is valid
78
+ def valid?
79
+ return false if @async_passthrough_receipt_id.nil?
80
+ true
81
+ end
82
+
83
+ # Checks equality by comparing each attribute.
84
+ # @param [Object] Object to be compared
85
+ def ==(o)
86
+ return true if self.equal?(o)
87
+ self.class == o.class &&
88
+ async_passthrough_receipt_id == o.async_passthrough_receipt_id
89
+ end
90
+
91
+ # @see the `==` method
92
+ # @param [Object] Object to be compared
93
+ def eql?(o)
94
+ self == o
95
+ end
96
+
97
+ # Calculates hash code according to all attributes.
98
+ # @return [Integer] Hash code
99
+ def hash
100
+ [async_passthrough_receipt_id].hash
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def self.build_from_hash(attributes)
107
+ new.build_from_hash(attributes)
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def build_from_hash(attributes)
114
+ return nil unless attributes.is_a?(Hash)
115
+ self.class.openapi_types.each_pair do |key, type|
116
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
117
+ self.send("#{key}=", nil)
118
+ elsif type =~ /\AArray<(.*)>/i
119
+ # check to ensure the input is an array given that the attribute
120
+ # is documented as an array but the input is not
121
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
122
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
123
+ end
124
+ elsif !attributes[self.class.attribute_map[key]].nil?
125
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
126
+ end
127
+ end
128
+
129
+ self
130
+ end
131
+
132
+ # Deserializes the data based on type
133
+ # @param string type Data type
134
+ # @param string value Value to be deserialized
135
+ # @return [Object] Deserialized data
136
+ def _deserialize(type, value)
137
+ case type.to_sym
138
+ when :Time
139
+ Time.parse(value)
140
+ when :Date
141
+ Date.parse(value)
142
+ when :String
143
+ value
144
+ when :Integer
145
+ value.to_i
146
+ when :Float
147
+ value.to_f
148
+ when :Boolean
149
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
150
+ true
151
+ else
152
+ false
153
+ end
154
+ when :Object
155
+ # generic object (usually a Hash), return directly
156
+ value
157
+ when /\AArray<(?<inner_type>.+)>\z/
158
+ inner_type = Regexp.last_match[:inner_type]
159
+ value.map { |v| _deserialize(inner_type, v) }
160
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
161
+ k_type = Regexp.last_match[:k_type]
162
+ v_type = Regexp.last_match[:v_type]
163
+ {}.tap do |hash|
164
+ value.each do |k, v|
165
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
166
+ end
167
+ end
168
+ else # model
169
+ # models (e.g. Pet) or oneOf
170
+ klass = MergeHRISClient.const_get(type)
171
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
+ end
173
+ end
174
+
175
+ # Returns the string representation of the object
176
+ # @return [String] String presentation of the object
177
+ def to_s
178
+ to_hash.to_s
179
+ end
180
+
181
+ # to_body is an alias to to_hash (backward compatibility)
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_body
184
+ to_hash
185
+ end
186
+
187
+ # Returns the object in the form of hash
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_hash
190
+ hash = {}
191
+ self.class.attribute_map.each_pair do |attr, param|
192
+ value = self.send(attr)
193
+ if value.nil?
194
+ is_nullable = self.class.openapi_nullable.include?(attr)
195
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
+ end
197
+
198
+ hash[param] = _to_hash(value)
199
+ end
200
+ hash
201
+ end
202
+
203
+ # Outputs non-array value in the form of hash
204
+ # For object, use to_hash. Otherwise, just return the value
205
+ # @param [Object] value Any valid value
206
+ # @return [Hash] Returns the value in the form of hash
207
+ def _to_hash(value)
208
+ if value.is_a?(Array)
209
+ value.compact.map { |v| _to_hash(v) }
210
+ elsif value.is_a?(Hash)
211
+ {}.tap do |hash|
212
+ value.each { |k, v| hash[k] = _to_hash(v) }
213
+ end
214
+ elsif value.respond_to? :to_hash
215
+ value.to_hash
216
+ else
217
+ value
218
+ end
219
+ end
220
+
221
+ end
222
+
223
+ end