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
@@ -14,14 +14,12 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module MergeHRISClient
17
- # # The Employee Object ### Description The `Employee` object is used to represent an Employee for a company. ### Usage Example Fetch from the `LIST Employee` endpoint and filter by `ID` to show all employees.
17
+ # # The Employee Object ### Description The `Employee` object is used to represent any person who has been employed by a company. ### Usage Example Fetch from the `LIST Employee` endpoint and filter by `ID` to show all employees.
18
18
  class EmployeeRequest
19
- # The third-party API ID of the matching object.
20
- attr_accessor :remote_id
21
-
22
- # The employee's number that appears in the remote UI. Note: This is distinct from the remote_id field, which is a unique identifier for the employee set by the remote API, and is not exposed to the user. This value can also change in many API providers.
19
+ # The employee's number that appears in the third-party integration's UI.
23
20
  attr_accessor :employee_number
24
21
 
22
+ # The ID of the employee's company.
25
23
  attr_accessor :company
26
24
 
27
25
  # The employee's first name.
@@ -30,9 +28,15 @@ module MergeHRISClient
30
28
  # The employee's last name.
31
29
  attr_accessor :last_name
32
30
 
31
+ # The employee's preferred first name.
32
+ attr_accessor :preferred_name
33
+
33
34
  # The employee's full name, to use for display purposes. If a preferred first name is available, the full name will include the preferred first name.
34
35
  attr_accessor :display_full_name
35
36
 
37
+ # The employee's username that appears in the remote UI.
38
+ attr_accessor :username
39
+
36
40
  attr_accessor :groups
37
41
 
38
42
  # The employee's work email.
@@ -47,26 +51,31 @@ module MergeHRISClient
47
51
  # Array of `Employment` IDs for this Employee.
48
52
  attr_accessor :employments
49
53
 
54
+ # The employee's home address.
50
55
  attr_accessor :home_location
51
56
 
57
+ # The employee's work address.
52
58
  attr_accessor :work_location
53
59
 
60
+ # The employee ID of the employee's manager.
54
61
  attr_accessor :manager
55
62
 
63
+ # The employee's team.
56
64
  attr_accessor :team
57
65
 
66
+ # The employee's pay group
58
67
  attr_accessor :pay_group
59
68
 
60
69
  # The employee's social security number.
61
70
  attr_accessor :ssn
62
71
 
63
- # The employee's gender.
72
+ # The employee's gender. * `MALE` - MALE * `FEMALE` - FEMALE * `NON-BINARY` - NON-BINARY * `OTHER` - OTHER * `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE
64
73
  attr_accessor :gender
65
74
 
66
- # The employee's ethnicity.
75
+ # The employee's ethnicity. * `AMERICAN_INDIAN_OR_ALASKA_NATIVE` - AMERICAN_INDIAN_OR_ALASKA_NATIVE * `ASIAN_OR_INDIAN_SUBCONTINENT` - ASIAN_OR_INDIAN_SUBCONTINENT * `BLACK_OR_AFRICAN_AMERICAN` - BLACK_OR_AFRICAN_AMERICAN * `HISPANIC_OR_LATINO` - HISPANIC_OR_LATINO * `NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER` - NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER * `TWO_OR_MORE_RACES` - TWO_OR_MORE_RACES * `WHITE` - WHITE * `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE
67
76
  attr_accessor :ethnicity
68
77
 
69
- # The employee's marital status.
78
+ # The employee's filing status as related to marital status. * `SINGLE` - SINGLE * `MARRIED_FILING_JOINTLY` - MARRIED_FILING_JOINTLY * `MARRIED_FILING_SEPARATELY` - MARRIED_FILING_SEPARATELY * `HEAD_OF_HOUSEHOLD` - HEAD_OF_HOUSEHOLD * `QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD` - QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD
70
79
  attr_accessor :marital_status
71
80
 
72
81
  # The employee's date of birth.
@@ -75,10 +84,10 @@ module MergeHRISClient
75
84
  # The date that the employee was hired, usually the day that an offer letter is signed. If an employee has multiple hire dates from previous employments, this represents the most recent hire date. Note: If you're looking for the employee's start date, refer to the start_date field.
76
85
  attr_accessor :hire_date
77
86
 
78
- # The date that the employee started working. If an employee has multiple start dates from previous employments, this represents the most recent start date.
87
+ # The date that the employee started working. If an employee was rehired, the most recent start date will be returned.
79
88
  attr_accessor :start_date
80
89
 
81
- # The employment status of the employee.
90
+ # The employment status of the employee. * `ACTIVE` - ACTIVE * `PENDING` - PENDING * `INACTIVE` - INACTIVE
82
91
  attr_accessor :employment_status
83
92
 
84
93
  # The employee's termination date.
@@ -87,18 +96,20 @@ module MergeHRISClient
87
96
  # The URL of the employee's avatar image.
88
97
  attr_accessor :avatar
89
98
 
90
- # Custom fields configured for a given model.
91
- attr_accessor :custom_fields
99
+ attr_accessor :integration_params
100
+
101
+ attr_accessor :linked_account_params
92
102
 
93
103
  # Attribute mapping from ruby-style variable name to JSON key.
94
104
  def self.attribute_map
95
105
  {
96
- :'remote_id' => :'remote_id',
97
106
  :'employee_number' => :'employee_number',
98
107
  :'company' => :'company',
99
108
  :'first_name' => :'first_name',
100
109
  :'last_name' => :'last_name',
110
+ :'preferred_name' => :'preferred_name',
101
111
  :'display_full_name' => :'display_full_name',
112
+ :'username' => :'username',
102
113
  :'groups' => :'groups',
103
114
  :'work_email' => :'work_email',
104
115
  :'personal_email' => :'personal_email',
@@ -119,7 +130,8 @@ module MergeHRISClient
119
130
  :'employment_status' => :'employment_status',
120
131
  :'termination_date' => :'termination_date',
121
132
  :'avatar' => :'avatar',
122
- :'custom_fields' => :'custom_fields'
133
+ :'integration_params' => :'integration_params',
134
+ :'linked_account_params' => :'linked_account_params'
123
135
  }
124
136
  end
125
137
 
@@ -131,12 +143,13 @@ module MergeHRISClient
131
143
  # Attribute type mapping.
132
144
  def self.openapi_types
133
145
  {
134
- :'remote_id' => :'String',
135
146
  :'employee_number' => :'String',
136
147
  :'company' => :'String',
137
148
  :'first_name' => :'String',
138
149
  :'last_name' => :'String',
150
+ :'preferred_name' => :'String',
139
151
  :'display_full_name' => :'String',
152
+ :'username' => :'String',
140
153
  :'groups' => :'Array<String>',
141
154
  :'work_email' => :'String',
142
155
  :'personal_email' => :'String',
@@ -157,19 +170,21 @@ module MergeHRISClient
157
170
  :'employment_status' => :'EmploymentStatusEnum',
158
171
  :'termination_date' => :'Time',
159
172
  :'avatar' => :'String',
160
- :'custom_fields' => :'Hash<String, AnyType>'
173
+ :'integration_params' => :'Hash<String, Object>',
174
+ :'linked_account_params' => :'Hash<String, Object>'
161
175
  }
162
176
  end
163
177
 
164
178
  # List of attributes with nullable: true
165
179
  def self.openapi_nullable
166
180
  Set.new([
167
- :'remote_id',
168
181
  :'employee_number',
169
182
  :'company',
170
183
  :'first_name',
171
184
  :'last_name',
185
+ :'preferred_name',
172
186
  :'display_full_name',
187
+ :'username',
173
188
  :'work_email',
174
189
  :'personal_email',
175
190
  :'mobile_phone_number',
@@ -188,7 +203,8 @@ module MergeHRISClient
188
203
  :'employment_status',
189
204
  :'termination_date',
190
205
  :'avatar',
191
- :'custom_fields'
206
+ :'integration_params',
207
+ :'linked_account_params'
192
208
  ])
193
209
  end
194
210
 
@@ -207,10 +223,6 @@ module MergeHRISClient
207
223
  h[k.to_sym] = v
208
224
  }
209
225
 
210
- if attributes.key?(:'remote_id')
211
- self.remote_id = attributes[:'remote_id']
212
- end
213
-
214
226
  if attributes.key?(:'employee_number')
215
227
  self.employee_number = attributes[:'employee_number']
216
228
  end
@@ -227,10 +239,18 @@ module MergeHRISClient
227
239
  self.last_name = attributes[:'last_name']
228
240
  end
229
241
 
242
+ if attributes.key?(:'preferred_name')
243
+ self.preferred_name = attributes[:'preferred_name']
244
+ end
245
+
230
246
  if attributes.key?(:'display_full_name')
231
247
  self.display_full_name = attributes[:'display_full_name']
232
248
  end
233
249
 
250
+ if attributes.key?(:'username')
251
+ self.username = attributes[:'username']
252
+ end
253
+
234
254
  if attributes.key?(:'groups')
235
255
  if (value = attributes[:'groups']).is_a?(Array)
236
256
  self.groups = value
@@ -315,9 +335,15 @@ module MergeHRISClient
315
335
  self.avatar = attributes[:'avatar']
316
336
  end
317
337
 
318
- if attributes.key?(:'custom_fields')
319
- if (value = attributes[:'custom_fields']).is_a?(Hash)
320
- self.custom_fields = value
338
+ if attributes.key?(:'integration_params')
339
+ if (value = attributes[:'integration_params']).is_a?(Hash)
340
+ self.integration_params = value
341
+ end
342
+ end
343
+
344
+ if attributes.key?(:'linked_account_params')
345
+ if (value = attributes[:'linked_account_params']).is_a?(Hash)
346
+ self.linked_account_params = value
321
347
  end
322
348
  end
323
349
  end
@@ -400,12 +426,13 @@ module MergeHRISClient
400
426
  def ==(o)
401
427
  return true if self.equal?(o)
402
428
  self.class == o.class &&
403
- remote_id == o.remote_id &&
404
429
  employee_number == o.employee_number &&
405
430
  company == o.company &&
406
431
  first_name == o.first_name &&
407
432
  last_name == o.last_name &&
433
+ preferred_name == o.preferred_name &&
408
434
  display_full_name == o.display_full_name &&
435
+ username == o.username &&
409
436
  groups == o.groups &&
410
437
  work_email == o.work_email &&
411
438
  personal_email == o.personal_email &&
@@ -426,7 +453,8 @@ module MergeHRISClient
426
453
  employment_status == o.employment_status &&
427
454
  termination_date == o.termination_date &&
428
455
  avatar == o.avatar &&
429
- custom_fields == o.custom_fields
456
+ integration_params == o.integration_params &&
457
+ linked_account_params == o.linked_account_params
430
458
  end
431
459
 
432
460
  # @see the `==` method
@@ -438,7 +466,7 @@ module MergeHRISClient
438
466
  # Calculates hash code according to all attributes.
439
467
  # @return [Integer] Hash code
440
468
  def hash
441
- [remote_id, employee_number, company, first_name, last_name, display_full_name, groups, work_email, personal_email, mobile_phone_number, employments, home_location, work_location, manager, team, pay_group, ssn, gender, ethnicity, marital_status, date_of_birth, hire_date, start_date, employment_status, termination_date, avatar, custom_fields].hash
469
+ [employee_number, company, first_name, last_name, preferred_name, display_full_name, username, groups, work_email, personal_email, mobile_phone_number, employments, home_location, work_location, manager, team, pay_group, ssn, gender, ethnicity, marital_status, date_of_birth, hire_date, start_date, employment_status, termination_date, avatar, integration_params, linked_account_params].hash
442
470
  end
443
471
 
444
472
  # Builds the object from hash
@@ -0,0 +1,371 @@
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
+ # # The EmployerBenefit Object ### Description The `Employer Benefit` object is used to represent a benefit plan offered by a company. ### Usage Example Fetch from the `LIST EmployerBenefits` endpoint and filter by `ID` to show all EmployerBenefits.
18
+ class EmployerBenefit
19
+ attr_accessor :id
20
+
21
+ # The third-party API ID of the matching object.
22
+ attr_accessor :remote_id
23
+
24
+ # The datetime that this object was created by Merge.
25
+ attr_accessor :created_at
26
+
27
+ # The datetime that this object was modified by Merge.
28
+ attr_accessor :modified_at
29
+
30
+ # The type of benefit plan. * `MEDICAL` - MEDICAL * `HEALTH_SAVINGS` - HEALTH_SAVINGS * `INSURANCE` - INSURANCE * `RETIREMENT` - RETIREMENT * `OTHER` - OTHER
31
+ attr_accessor :benefit_plan_type
32
+
33
+ # The employer benefit's name - typically the carrier or network name.
34
+ attr_accessor :name
35
+
36
+ # The employer benefit's description.
37
+ attr_accessor :description
38
+
39
+ # The employer benefit's deduction code.
40
+ attr_accessor :deduction_code
41
+
42
+ # Indicates whether or not this object has been deleted in the third party platform.
43
+ attr_accessor :remote_was_deleted
44
+
45
+ attr_accessor :field_mappings
46
+
47
+ attr_accessor :remote_data
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'id' => :'id',
53
+ :'remote_id' => :'remote_id',
54
+ :'created_at' => :'created_at',
55
+ :'modified_at' => :'modified_at',
56
+ :'benefit_plan_type' => :'benefit_plan_type',
57
+ :'name' => :'name',
58
+ :'description' => :'description',
59
+ :'deduction_code' => :'deduction_code',
60
+ :'remote_was_deleted' => :'remote_was_deleted',
61
+ :'field_mappings' => :'field_mappings',
62
+ :'remote_data' => :'remote_data'
63
+ }
64
+ end
65
+
66
+ # Returns all the JSON keys this model knows about
67
+ def self.acceptable_attributes
68
+ attribute_map.values
69
+ end
70
+
71
+ # Attribute type mapping.
72
+ def self.openapi_types
73
+ {
74
+ :'id' => :'String',
75
+ :'remote_id' => :'String',
76
+ :'created_at' => :'Time',
77
+ :'modified_at' => :'Time',
78
+ :'benefit_plan_type' => :'BenefitPlanTypeEnum',
79
+ :'name' => :'String',
80
+ :'description' => :'String',
81
+ :'deduction_code' => :'String',
82
+ :'remote_was_deleted' => :'Boolean',
83
+ :'field_mappings' => :'Object',
84
+ :'remote_data' => :'Array<Hash<String, Object>>'
85
+ }
86
+ end
87
+
88
+ # List of attributes with nullable: true
89
+ def self.openapi_nullable
90
+ Set.new([
91
+ :'remote_id',
92
+ :'benefit_plan_type',
93
+ :'name',
94
+ :'description',
95
+ :'deduction_code',
96
+ :'field_mappings',
97
+ :'remote_data'
98
+ ])
99
+ end
100
+
101
+ # Initializes the object
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ def initialize(attributes = {})
104
+ if (!attributes.is_a?(Hash))
105
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeHRISClient::EmployerBenefit` initialize method"
106
+ end
107
+
108
+ # check to see if the attribute exists and convert string to symbol for hash key
109
+ attributes = attributes.each_with_object({}) { |(k, v), h|
110
+ if (!self.class.attribute_map.key?(k.to_sym))
111
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeHRISClient::EmployerBenefit`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
112
+ end
113
+ h[k.to_sym] = v
114
+ }
115
+
116
+ if attributes.key?(:'id')
117
+ self.id = attributes[:'id']
118
+ end
119
+
120
+ if attributes.key?(:'remote_id')
121
+ self.remote_id = attributes[:'remote_id']
122
+ end
123
+
124
+ if attributes.key?(:'created_at')
125
+ self.created_at = attributes[:'created_at']
126
+ end
127
+
128
+ if attributes.key?(:'modified_at')
129
+ self.modified_at = attributes[:'modified_at']
130
+ end
131
+
132
+ if attributes.key?(:'benefit_plan_type')
133
+ self.benefit_plan_type = attributes[:'benefit_plan_type']
134
+ end
135
+
136
+ if attributes.key?(:'name')
137
+ self.name = attributes[:'name']
138
+ end
139
+
140
+ if attributes.key?(:'description')
141
+ self.description = attributes[:'description']
142
+ end
143
+
144
+ if attributes.key?(:'deduction_code')
145
+ self.deduction_code = attributes[:'deduction_code']
146
+ end
147
+
148
+ if attributes.key?(:'remote_was_deleted')
149
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
150
+ end
151
+
152
+ if attributes.key?(:'field_mappings')
153
+ self.field_mappings = attributes[:'field_mappings']
154
+ end
155
+
156
+ if attributes.key?(:'remote_data')
157
+ if (value = attributes[:'remote_data']).is_a?(Array)
158
+ self.remote_data = value
159
+ end
160
+ end
161
+ end
162
+
163
+ # Show invalid properties with the reasons. Usually used together with valid?
164
+ # @return Array for valid properties with the reasons
165
+ def list_invalid_properties
166
+ invalid_properties = Array.new
167
+ if !@name.nil? && @name.to_s.length > 200
168
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 200.')
169
+ end
170
+
171
+ if !@description.nil? && @description.to_s.length > 2000
172
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 2000.')
173
+ end
174
+
175
+ if !@deduction_code.nil? && @deduction_code.to_s.length > 60
176
+ invalid_properties.push('invalid value for "deduction_code", the character length must be smaller than or equal to 60.')
177
+ end
178
+
179
+ invalid_properties
180
+ end
181
+
182
+ # Check to see if the all the properties in the model are valid
183
+ # @return true if the model is valid
184
+ def valid?
185
+ return false if !@name.nil? && @name.to_s.length > 200
186
+ return false if !@description.nil? && @description.to_s.length > 2000
187
+ return false if !@deduction_code.nil? && @deduction_code.to_s.length > 60
188
+ true
189
+ end
190
+
191
+ # Custom attribute writer method with validation
192
+ # @param [Object] name Value to be assigned
193
+ def name=(name)
194
+ if !name.nil? && name.to_s.length > 200
195
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 200.'
196
+ end
197
+
198
+ @name = name
199
+ end
200
+
201
+ # Custom attribute writer method with validation
202
+ # @param [Object] description Value to be assigned
203
+ def description=(description)
204
+ if !description.nil? && description.to_s.length > 2000
205
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 2000.'
206
+ end
207
+
208
+ @description = description
209
+ end
210
+
211
+ # Custom attribute writer method with validation
212
+ # @param [Object] deduction_code Value to be assigned
213
+ def deduction_code=(deduction_code)
214
+ if !deduction_code.nil? && deduction_code.to_s.length > 60
215
+ fail ArgumentError, 'invalid value for "deduction_code", the character length must be smaller than or equal to 60.'
216
+ end
217
+
218
+ @deduction_code = deduction_code
219
+ end
220
+
221
+ # Checks equality by comparing each attribute.
222
+ # @param [Object] Object to be compared
223
+ def ==(o)
224
+ return true if self.equal?(o)
225
+ self.class == o.class &&
226
+ id == o.id &&
227
+ remote_id == o.remote_id &&
228
+ created_at == o.created_at &&
229
+ modified_at == o.modified_at &&
230
+ benefit_plan_type == o.benefit_plan_type &&
231
+ name == o.name &&
232
+ description == o.description &&
233
+ deduction_code == o.deduction_code &&
234
+ remote_was_deleted == o.remote_was_deleted &&
235
+ field_mappings == o.field_mappings &&
236
+ remote_data == o.remote_data
237
+ end
238
+
239
+ # @see the `==` method
240
+ # @param [Object] Object to be compared
241
+ def eql?(o)
242
+ self == o
243
+ end
244
+
245
+ # Calculates hash code according to all attributes.
246
+ # @return [Integer] Hash code
247
+ def hash
248
+ [id, remote_id, created_at, modified_at, benefit_plan_type, name, description, deduction_code, remote_was_deleted, field_mappings, remote_data].hash
249
+ end
250
+
251
+ # Builds the object from hash
252
+ # @param [Hash] attributes Model attributes in the form of hash
253
+ # @return [Object] Returns the model itself
254
+ def self.build_from_hash(attributes)
255
+ new.build_from_hash(attributes)
256
+ end
257
+
258
+ # Builds the object from hash
259
+ # @param [Hash] attributes Model attributes in the form of hash
260
+ # @return [Object] Returns the model itself
261
+ def build_from_hash(attributes)
262
+ return nil unless attributes.is_a?(Hash)
263
+ self.class.openapi_types.each_pair do |key, type|
264
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
265
+ self.send("#{key}=", nil)
266
+ elsif type =~ /\AArray<(.*)>/i
267
+ # check to ensure the input is an array given that the attribute
268
+ # is documented as an array but the input is not
269
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
270
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
271
+ end
272
+ elsif !attributes[self.class.attribute_map[key]].nil?
273
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
274
+ end
275
+ end
276
+
277
+ self
278
+ end
279
+
280
+ # Deserializes the data based on type
281
+ # @param string type Data type
282
+ # @param string value Value to be deserialized
283
+ # @return [Object] Deserialized data
284
+ def _deserialize(type, value)
285
+ case type.to_sym
286
+ when :Time
287
+ Time.parse(value)
288
+ when :Date
289
+ Date.parse(value)
290
+ when :String
291
+ value
292
+ when :Integer
293
+ value.to_i
294
+ when :Float
295
+ value.to_f
296
+ when :Boolean
297
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
298
+ true
299
+ else
300
+ false
301
+ end
302
+ when :Object
303
+ # generic object (usually a Hash), return directly
304
+ value
305
+ when /\AArray<(?<inner_type>.+)>\z/
306
+ inner_type = Regexp.last_match[:inner_type]
307
+ value.map { |v| _deserialize(inner_type, v) }
308
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
309
+ k_type = Regexp.last_match[:k_type]
310
+ v_type = Regexp.last_match[:v_type]
311
+ {}.tap do |hash|
312
+ value.each do |k, v|
313
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
314
+ end
315
+ end
316
+ else # model
317
+ # models (e.g. Pet) or oneOf
318
+ klass = MergeHRISClient.const_get(type)
319
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
320
+ end
321
+ end
322
+
323
+ # Returns the string representation of the object
324
+ # @return [String] String presentation of the object
325
+ def to_s
326
+ to_hash.to_s
327
+ end
328
+
329
+ # to_body is an alias to to_hash (backward compatibility)
330
+ # @return [Hash] Returns the object in the form of hash
331
+ def to_body
332
+ to_hash
333
+ end
334
+
335
+ # Returns the object in the form of hash
336
+ # @return [Hash] Returns the object in the form of hash
337
+ def to_hash
338
+ hash = {}
339
+ self.class.attribute_map.each_pair do |attr, param|
340
+ value = self.send(attr)
341
+ if value.nil?
342
+ is_nullable = self.class.openapi_nullable.include?(attr)
343
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
344
+ end
345
+
346
+ hash[param] = _to_hash(value)
347
+ end
348
+ hash
349
+ end
350
+
351
+ # Outputs non-array value in the form of hash
352
+ # For object, use to_hash. Otherwise, just return the value
353
+ # @param [Object] value Any valid value
354
+ # @return [Hash] Returns the value in the form of hash
355
+ def _to_hash(value)
356
+ if value.is_a?(Array)
357
+ value.compact.map { |v| _to_hash(v) }
358
+ elsif value.is_a?(Hash)
359
+ {}.tap do |hash|
360
+ value.each { |k, v| hash[k] = _to_hash(v) }
361
+ end
362
+ elsif value.respond_to? :to_hash
363
+ value.to_hash
364
+ else
365
+ value
366
+ end
367
+ end
368
+
369
+ end
370
+
371
+ end