vitable-connect 0.6.0 → 2.0.0

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 (645) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +16 -0
  3. data/.fernignore +8 -0
  4. data/.rubocop.yml +110 -0
  5. data/CONTRIBUTING.md +120 -0
  6. data/LICENSE +201 -0
  7. data/README.md +161 -114
  8. data/Rakefile +20 -0
  9. data/changelog.md +4 -0
  10. data/custom.gemspec.rb +16 -0
  11. data/lib/VitableConnect/auth/client.rb +52 -0
  12. data/lib/VitableConnect/auth/types/issue_access_token_request.rb +13 -0
  13. data/lib/VitableConnect/client.rb +67 -0
  14. data/lib/VitableConnect/employees/client.rb +161 -0
  15. data/lib/VitableConnect/employees/types/get_employees_request.rb +11 -0
  16. data/lib/VitableConnect/employees/types/list_enrollments_employees_request.rb +15 -0
  17. data/lib/VitableConnect/employees/types/patched_update_employee_request.rb +27 -0
  18. data/lib/VitableConnect/employers/client.rb +904 -0
  19. data/lib/VitableConnect/employers/types/census_sync_request.rb +13 -0
  20. data/lib/VitableConnect/employers/types/create_employer_request.rb +23 -0
  21. data/lib/VitableConnect/employers/types/ensure_payroll_integration_email_employers_request.rb +11 -0
  22. data/lib/VitableConnect/employers/types/get_benefit_plan_year_employers_request.rb +13 -0
  23. data/lib/VitableConnect/employers/types/get_employers_request.rb +11 -0
  24. data/lib/VitableConnect/employers/types/get_hris_employers_request.rb +11 -0
  25. data/lib/VitableConnect/employers/types/get_invoice_pdf_employers_request.rb +13 -0
  26. data/lib/VitableConnect/employers/types/get_payroll_access_setup_employers_request.rb +11 -0
  27. data/lib/VitableConnect/employers/types/list_benefit_plan_year_enrollments_employers_request.rb +21 -0
  28. data/lib/VitableConnect/employers/types/list_benefit_plan_years_employers_request.rb +11 -0
  29. data/lib/VitableConnect/employers/types/list_employees_employers_request.rb +19 -0
  30. data/lib/VitableConnect/employers/types/list_employers_request.rb +25 -0
  31. data/lib/VitableConnect/employers/types/list_invoices_employers_request.rb +15 -0
  32. data/lib/VitableConnect/employers/types/list_payroll_deduction_statements_employers_request.rb +15 -0
  33. data/lib/VitableConnect/employers/types/submit_payroll_access_setup_request.rb +57 -0
  34. data/lib/VitableConnect/employers/types/update_employer_request.rb +19 -0
  35. data/lib/VitableConnect/employers/types/update_employer_settings_request.rb +13 -0
  36. data/lib/VitableConnect/enrollments/client.rb +152 -0
  37. data/lib/VitableConnect/enrollments/types/get_enrollments_request.rb +11 -0
  38. data/lib/VitableConnect/enrollments/types/reissue_enrollment_request.rb +17 -0
  39. data/lib/VitableConnect/enrollments/types/terminate_enrollment_request.rb +17 -0
  40. data/lib/VitableConnect/environment.rb +9 -0
  41. data/lib/VitableConnect/errors/api_error.rb +8 -0
  42. data/lib/VitableConnect/errors/client_error.rb +17 -0
  43. data/lib/VitableConnect/errors/redirect_error.rb +8 -0
  44. data/lib/VitableConnect/errors/response_error.rb +42 -0
  45. data/lib/VitableConnect/errors/server_error.rb +11 -0
  46. data/lib/VitableConnect/errors/timeout_error.rb +8 -0
  47. data/lib/VitableConnect/groups/client.rb +199 -0
  48. data/lib/VitableConnect/groups/members/client.rb +21 -0
  49. data/lib/VitableConnect/groups/members/sync/client.rb +122 -0
  50. data/lib/VitableConnect/groups/members/sync/types/get_sync_request.rb +17 -0
  51. data/lib/VitableConnect/groups/members/sync/types/group_member_sync_request.rb +17 -0
  52. data/lib/VitableConnect/groups/types/create_group_request.rb +13 -0
  53. data/lib/VitableConnect/groups/types/get_groups_request.rb +11 -0
  54. data/lib/VitableConnect/groups/types/list_groups_request.rb +13 -0
  55. data/lib/VitableConnect/groups/types/patched_update_group_request.rb +15 -0
  56. data/lib/VitableConnect/internal/errors/constraint_error.rb +10 -0
  57. data/lib/VitableConnect/internal/errors/type_error.rb +10 -0
  58. data/lib/VitableConnect/internal/http/base_request.rb +51 -0
  59. data/lib/VitableConnect/internal/http/raw_client.rb +265 -0
  60. data/lib/VitableConnect/internal/iterators/cursor_item_iterator.rb +28 -0
  61. data/lib/VitableConnect/internal/iterators/cursor_page_iterator.rb +63 -0
  62. data/lib/VitableConnect/internal/iterators/item_iterator.rb +65 -0
  63. data/lib/VitableConnect/internal/iterators/offset_item_iterator.rb +30 -0
  64. data/lib/VitableConnect/internal/iterators/offset_page_iterator.rb +103 -0
  65. data/lib/VitableConnect/internal/json/request.rb +41 -0
  66. data/lib/VitableConnect/internal/json/serializable.rb +25 -0
  67. data/lib/VitableConnect/internal/multipart/multipart_encoder.rb +141 -0
  68. data/lib/VitableConnect/internal/multipart/multipart_form_data.rb +78 -0
  69. data/lib/VitableConnect/internal/multipart/multipart_form_data_part.rb +51 -0
  70. data/lib/VitableConnect/internal/multipart/multipart_request.rb +40 -0
  71. data/lib/VitableConnect/internal/types/array.rb +47 -0
  72. data/lib/VitableConnect/internal/types/boolean.rb +34 -0
  73. data/lib/VitableConnect/internal/types/enum.rb +56 -0
  74. data/lib/VitableConnect/internal/types/hash.rb +36 -0
  75. data/lib/VitableConnect/internal/types/model/field.rb +38 -0
  76. data/lib/VitableConnect/internal/types/model.rb +208 -0
  77. data/lib/VitableConnect/internal/types/type.rb +35 -0
  78. data/lib/VitableConnect/internal/types/union.rb +161 -0
  79. data/lib/VitableConnect/internal/types/unknown.rb +15 -0
  80. data/lib/VitableConnect/internal/types/utils.rb +116 -0
  81. data/lib/VitableConnect/members/client.rb +385 -0
  82. data/lib/VitableConnect/members/types/get_household_members_request.rb +11 -0
  83. data/lib/VitableConnect/members/types/get_members_request.rb +11 -0
  84. data/lib/VitableConnect/members/types/list_dependents_members_request.rb +11 -0
  85. data/lib/VitableConnect/members/types/list_employments_members_request.rb +11 -0
  86. data/lib/VitableConnect/members/types/list_enrollments_members_request.rb +11 -0
  87. data/lib/VitableConnect/members/types/list_id_cards_members_request.rb +11 -0
  88. data/lib/VitableConnect/members/types/list_members_request.rb +15 -0
  89. data/lib/VitableConnect/members/types/list_qualifying_life_events_members_request.rb +17 -0
  90. data/lib/VitableConnect/organizations/client.rb +92 -0
  91. data/lib/VitableConnect/organizations/types/create_organization_request.rb +13 -0
  92. data/lib/VitableConnect/plans/client.rb +69 -0
  93. data/lib/VitableConnect/plans/types/list_plans_request.rb +13 -0
  94. data/lib/VitableConnect/types/access_method.rb +12 -0
  95. data/lib/VitableConnect/types/access_token_response.rb +15 -0
  96. data/lib/VitableConnect/types/additional_access_method.rb +12 -0
  97. data/lib/VitableConnect/types/address.rb +22 -0
  98. data/lib/VitableConnect/types/address_request.rb +17 -0
  99. data/lib/VitableConnect/types/benefit_family.rb +16 -0
  100. data/lib/VitableConnect/types/benefit_family_param_item.rb +16 -0
  101. data/lib/VitableConnect/types/benefit_lifecycle_stage_item.rb +15 -0
  102. data/lib/VitableConnect/types/benefit_plan_network.rb +29 -0
  103. data/lib/VitableConnect/types/benefit_plan_year_detail.rb +52 -0
  104. data/lib/VitableConnect/types/benefit_plan_year_id.rb +23 -0
  105. data/lib/VitableConnect/types/benefit_plan_year_list.rb +47 -0
  106. data/lib/VitableConnect/types/benefit_status.rb +14 -0
  107. data/lib/VitableConnect/types/benefit_summary.rb +15 -0
  108. data/lib/VitableConnect/types/bound_entity.rb +11 -0
  109. data/lib/VitableConnect/types/bound_entity_response.rb +11 -0
  110. data/lib/VitableConnect/types/bound_entity_type.rb +12 -0
  111. data/lib/VitableConnect/types/card_type.rb +14 -0
  112. data/lib/VitableConnect/types/category.rb +14 -0
  113. data/lib/VitableConnect/types/census_sync_detail_response.rb +10 -0
  114. data/lib/VitableConnect/types/census_sync_employee_address_request.rb +17 -0
  115. data/lib/VitableConnect/types/census_sync_employee_request.rb +27 -0
  116. data/lib/VitableConnect/types/census_sync_response.rb +11 -0
  117. data/lib/VitableConnect/types/classification_correction_source.rb +12 -0
  118. data/lib/VitableConnect/types/compensation_type.rb +12 -0
  119. data/lib/VitableConnect/types/contribution_class_compensation.rb +13 -0
  120. data/lib/VitableConnect/types/contribution_class_employment.rb +15 -0
  121. data/lib/VitableConnect/types/contribution_class_location.rb +12 -0
  122. data/lib/VitableConnect/types/contribution_range.rb +11 -0
  123. data/lib/VitableConnect/types/contribution_strategy.rb +13 -0
  124. data/lib/VitableConnect/types/contribution_tier.rb +26 -0
  125. data/lib/VitableConnect/types/coverage_tier.rb +15 -0
  126. data/lib/VitableConnect/types/create_organization_request_type.rb +16 -0
  127. data/lib/VitableConnect/types/created_after.rb +23 -0
  128. data/lib/VitableConnect/types/created_before.rb +23 -0
  129. data/lib/VitableConnect/types/deduction_detail.rb +21 -0
  130. data/lib/VitableConnect/types/deduction_frequency.rb +14 -0
  131. data/lib/VitableConnect/types/digital_benefit_card.rb +36 -0
  132. data/lib/VitableConnect/types/election_status_item.rb +14 -0
  133. data/lib/VitableConnect/types/eligibility_policy.rb +17 -0
  134. data/lib/VitableConnect/types/eligibility_policy_rule.rb +15 -0
  135. data/lib/VitableConnect/types/eligibility_rule_compensation_type.rb +13 -0
  136. data/lib/VitableConnect/types/eligibility_rule_employee_class.rb +17 -0
  137. data/lib/VitableConnect/types/eligible_geographical_location.rb +11 -0
  138. data/lib/VitableConnect/types/eligible_geographical_location_type.rb +12 -0
  139. data/lib/VitableConnect/types/employee.rb +53 -0
  140. data/lib/VitableConnect/types/employee_address.rb +17 -0
  141. data/lib/VitableConnect/types/employee_address_input.rb +19 -0
  142. data/lib/VitableConnect/types/employee_class.rb +16 -0
  143. data/lib/VitableConnect/types/employee_id.rb +23 -0
  144. data/lib/VitableConnect/types/employee_list_response.rb +12 -0
  145. data/lib/VitableConnect/types/employee_response.rb +10 -0
  146. data/lib/VitableConnect/types/employee_search.rb +23 -0
  147. data/lib/VitableConnect/types/employee_status.rb +12 -0
  148. data/lib/VitableConnect/types/employer.rb +34 -0
  149. data/lib/VitableConnect/types/employer_address.rb +18 -0
  150. data/lib/VitableConnect/types/employer_address_input.rb +17 -0
  151. data/lib/VitableConnect/types/employer_benefit_lifecycle_stage.rb +11 -0
  152. data/lib/VitableConnect/types/employer_benefit_plan_year_response.rb +10 -0
  153. data/lib/VitableConnect/types/employer_benefit_plan_years_list_response.rb +9 -0
  154. data/lib/VitableConnect/types/employer_contact.rb +12 -0
  155. data/lib/VitableConnect/types/employer_hris.rb +9 -0
  156. data/lib/VitableConnect/types/employer_hris_response.rb +10 -0
  157. data/lib/VitableConnect/types/employer_hris_status.rb +13 -0
  158. data/lib/VitableConnect/types/employer_id.rb +23 -0
  159. data/lib/VitableConnect/types/employer_invoice_pdf.rb +9 -0
  160. data/lib/VitableConnect/types/employer_invoice_pdf_response.rb +10 -0
  161. data/lib/VitableConnect/types/employer_invoices_list_response.rb +12 -0
  162. data/lib/VitableConnect/types/employer_payroll_deduction_statement_list_response.rb +12 -0
  163. data/lib/VitableConnect/types/employer_response.rb +10 -0
  164. data/lib/VitableConnect/types/employer_search.rb +23 -0
  165. data/lib/VitableConnect/types/employer_settings.rb +9 -0
  166. data/lib/VitableConnect/types/employer_settings_response.rb +10 -0
  167. data/lib/VitableConnect/types/enrollment.rb +34 -0
  168. data/lib/VitableConnect/types/enrollment_detail.rb +39 -0
  169. data/lib/VitableConnect/types/enrollment_id.rb +23 -0
  170. data/lib/VitableConnect/types/enrollment_list_response.rb +12 -0
  171. data/lib/VitableConnect/types/enrollment_rate.rb +13 -0
  172. data/lib/VitableConnect/types/enrollment_rate_summary.rb +13 -0
  173. data/lib/VitableConnect/types/enrollment_response.rb +10 -0
  174. data/lib/VitableConnect/types/enrollment_status.rb +14 -0
  175. data/lib/VitableConnect/types/error_response.rb +17 -0
  176. data/lib/VitableConnect/types/event_id.rb +23 -0
  177. data/lib/VitableConnect/types/event_name.rb +21 -0
  178. data/lib/VitableConnect/types/gender.rb +15 -0
  179. data/lib/VitableConnect/types/grant_type.rb +11 -0
  180. data/lib/VitableConnect/types/group.rb +19 -0
  181. data/lib/VitableConnect/types/group_id.rb +23 -0
  182. data/lib/VitableConnect/types/group_list_response.rb +12 -0
  183. data/lib/VitableConnect/types/group_member_sync_detail_response.rb +10 -0
  184. data/lib/VitableConnect/types/group_member_sync_failure.rb +13 -0
  185. data/lib/VitableConnect/types/group_member_sync_failure_operation.rb +12 -0
  186. data/lib/VitableConnect/types/group_member_sync_member_request.rb +23 -0
  187. data/lib/VitableConnect/types/group_member_sync_request_detail.rb +17 -0
  188. data/lib/VitableConnect/types/group_member_sync_request_detail_response.rb +10 -0
  189. data/lib/VitableConnect/types/group_member_sync_response.rb +13 -0
  190. data/lib/VitableConnect/types/group_member_sync_results.rb +13 -0
  191. data/lib/VitableConnect/types/group_response.rb +10 -0
  192. data/lib/VitableConnect/types/household_member.rb +22 -0
  193. data/lib/VitableConnect/types/household_member_relationship.rb +14 -0
  194. data/lib/VitableConnect/types/household_member_type.rb +13 -0
  195. data/lib/VitableConnect/types/household_members_response.rb +10 -0
  196. data/lib/VitableConnect/types/hris_connection.rb +17 -0
  197. data/lib/VitableConnect/types/hris_status_item.rb +15 -0
  198. data/lib/VitableConnect/types/ichra_contribution_class.rb +29 -0
  199. data/lib/VitableConnect/types/idp_provider.rb +12 -0
  200. data/lib/VitableConnect/types/include_cancelled.rb +23 -0
  201. data/lib/VitableConnect/types/invoice.rb +15 -0
  202. data/lib/VitableConnect/types/invoice_id.rb +23 -0
  203. data/lib/VitableConnect/types/invoices_cursor_pagination.rb +9 -0
  204. data/lib/VitableConnect/types/limit.rb +23 -0
  205. data/lib/VitableConnect/types/list_webhook_event_deliveries_response.rb +9 -0
  206. data/lib/VitableConnect/types/marital_status.rb +12 -0
  207. data/lib/VitableConnect/types/member.rb +42 -0
  208. data/lib/VitableConnect/types/member_address.rb +17 -0
  209. data/lib/VitableConnect/types/member_dependents_response.rb +10 -0
  210. data/lib/VitableConnect/types/member_digital_benefit_cards_response.rb +10 -0
  211. data/lib/VitableConnect/types/member_employments_response.rb +10 -0
  212. data/lib/VitableConnect/types/member_enrollment.rb +58 -0
  213. data/lib/VitableConnect/types/member_enrollments_response.rb +10 -0
  214. data/lib/VitableConnect/types/member_id.rb +23 -0
  215. data/lib/VitableConnect/types/member_legal_dependent.rb +24 -0
  216. data/lib/VitableConnect/types/member_list_item.rb +20 -0
  217. data/lib/VitableConnect/types/member_list_response.rb +12 -0
  218. data/lib/VitableConnect/types/member_qualifying_life_event.rb +19 -0
  219. data/lib/VitableConnect/types/member_qualifying_life_event_list_response.rb +12 -0
  220. data/lib/VitableConnect/types/member_response.rb +10 -0
  221. data/lib/VitableConnect/types/member_search.rb +23 -0
  222. data/lib/VitableConnect/types/member_status.rb +12 -0
  223. data/lib/VitableConnect/types/missing_employee_resolution.rb +12 -0
  224. data/lib/VitableConnect/types/name_suffix.rb +17 -0
  225. data/lib/VitableConnect/types/offset.rb +23 -0
  226. data/lib/VitableConnect/types/organization.rb +19 -0
  227. data/lib/VitableConnect/types/organization_employer.rb +44 -0
  228. data/lib/VitableConnect/types/organization_employer_list_response.rb +12 -0
  229. data/lib/VitableConnect/types/organization_hris_provider.rb +11 -0
  230. data/lib/VitableConnect/types/organization_hris_providers_response.rb +10 -0
  231. data/lib/VitableConnect/types/organization_type.rb +16 -0
  232. data/lib/VitableConnect/types/organizations_list_response.rb +12 -0
  233. data/lib/VitableConnect/types/page.rb +23 -0
  234. data/lib/VitableConnect/types/pagination.rb +16 -0
  235. data/lib/VitableConnect/types/payroll_access_setup_status.rb +11 -0
  236. data/lib/VitableConnect/types/payroll_access_setup_status_response.rb +10 -0
  237. data/lib/VitableConnect/types/payroll_deduction_statement.rb +29 -0
  238. data/lib/VitableConnect/types/payroll_integration_email.rb +9 -0
  239. data/lib/VitableConnect/types/payroll_integration_email_response.rb +10 -0
  240. data/lib/VitableConnect/types/plan.rb +11 -0
  241. data/lib/VitableConnect/types/plan_list_response.rb +12 -0
  242. data/lib/VitableConnect/types/plan_year_enrollment.rb +35 -0
  243. data/lib/VitableConnect/types/plan_year_enrollment_election_status.rb +14 -0
  244. data/lib/VitableConnect/types/plan_year_enrollment_list_response.rb +12 -0
  245. data/lib/VitableConnect/types/plan_year_enrollment_policy_status.rb +14 -0
  246. data/lib/VitableConnect/types/preferred_language.rb +16 -0
  247. data/lib/VitableConnect/types/product_code.rb +25 -0
  248. data/lib/VitableConnect/types/qualifying_life_event_status.rb +13 -0
  249. data/lib/VitableConnect/types/qualifying_life_event_type.rb +31 -0
  250. data/lib/VitableConnect/types/reissue_enrollment.rb +9 -0
  251. data/lib/VitableConnect/types/reissue_enrollment_response.rb +10 -0
  252. data/lib/VitableConnect/types/relationship.rb +12 -0
  253. data/lib/VitableConnect/types/remaining_employee_action.rb +12 -0
  254. data/lib/VitableConnect/types/request_id.rb +23 -0
  255. data/lib/VitableConnect/types/resource_id.rb +23 -0
  256. data/lib/VitableConnect/types/resource_type.rb +16 -0
  257. data/lib/VitableConnect/types/search.rb +23 -0
  258. data/lib/VitableConnect/types/sex_at_birth.rb +14 -0
  259. data/lib/VitableConnect/types/state.rb +72 -0
  260. data/lib/VitableConnect/types/status.rb +13 -0
  261. data/lib/VitableConnect/types/tax_classification.rb +13 -0
  262. data/lib/VitableConnect/types/termination_rule.rb +12 -0
  263. data/lib/VitableConnect/types/update_employer_address_input.rb +17 -0
  264. data/lib/VitableConnect/types/waiting_period.rb +13 -0
  265. data/lib/VitableConnect/types/webhook_delivery.rb +25 -0
  266. data/lib/VitableConnect/types/webhook_event.rb +19 -0
  267. data/lib/VitableConnect/types/webhook_event_list_response.rb +12 -0
  268. data/lib/VitableConnect/types/webhook_event_response.rb +10 -0
  269. data/lib/{vitable_connect → VitableConnect}/version.rb +1 -1
  270. data/lib/VitableConnect/webhook_events/client.rb +156 -0
  271. data/lib/VitableConnect/webhook_events/types/get_webhook_events_request.rb +11 -0
  272. data/lib/VitableConnect/webhook_events/types/list_deliveries_webhook_events_request.rb +11 -0
  273. data/lib/VitableConnect/webhook_events/types/list_webhook_events_request.rb +23 -0
  274. data/lib/VitableConnect.rb +268 -0
  275. data/lib/vitable_connect.rb +4 -154
  276. data/reference.md +3722 -0
  277. metadata +287 -413
  278. data/.ignore +0 -2
  279. data/CHANGELOG.md +0 -169
  280. data/lib/vitable_connect/client.rb +0 -153
  281. data/lib/vitable_connect/errors.rb +0 -228
  282. data/lib/vitable_connect/file_part.rb +0 -58
  283. data/lib/vitable_connect/internal/page_number_page.rb +0 -113
  284. data/lib/vitable_connect/internal/transport/base_client.rb +0 -603
  285. data/lib/vitable_connect/internal/transport/pooled_net_requester.rb +0 -210
  286. data/lib/vitable_connect/internal/type/array_of.rb +0 -168
  287. data/lib/vitable_connect/internal/type/base_model.rb +0 -534
  288. data/lib/vitable_connect/internal/type/base_page.rb +0 -55
  289. data/lib/vitable_connect/internal/type/boolean.rb +0 -77
  290. data/lib/vitable_connect/internal/type/converter.rb +0 -327
  291. data/lib/vitable_connect/internal/type/enum.rb +0 -156
  292. data/lib/vitable_connect/internal/type/file_input.rb +0 -111
  293. data/lib/vitable_connect/internal/type/hash_of.rb +0 -188
  294. data/lib/vitable_connect/internal/type/request_parameters.rb +0 -42
  295. data/lib/vitable_connect/internal/type/union.rb +0 -245
  296. data/lib/vitable_connect/internal/type/unknown.rb +0 -81
  297. data/lib/vitable_connect/internal/util.rb +0 -966
  298. data/lib/vitable_connect/internal.rb +0 -20
  299. data/lib/vitable_connect/models/auth_issue_access_token_params.rb +0 -82
  300. data/lib/vitable_connect/models/auth_issue_access_token_response.rb +0 -84
  301. data/lib/vitable_connect/models/employee.rb +0 -378
  302. data/lib/vitable_connect/models/employee_class.rb +0 -25
  303. data/lib/vitable_connect/models/employee_list_enrollments_params.rb +0 -38
  304. data/lib/vitable_connect/models/employee_retrieve_params.rb +0 -22
  305. data/lib/vitable_connect/models/employee_retrieve_response.rb +0 -18
  306. data/lib/vitable_connect/models/employee_update_params.rb +0 -185
  307. data/lib/vitable_connect/models/employee_update_response.rb +0 -18
  308. data/lib/vitable_connect/models/employer.rb +0 -189
  309. data/lib/vitable_connect/models/employer_create_params.rb +0 -115
  310. data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_params.rb +0 -22
  311. data/lib/vitable_connect/models/employer_ensure_payroll_integration_email_response.rb +0 -29
  312. data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rb +0 -80
  313. data/lib/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rb +0 -175
  314. data/lib/vitable_connect/models/employer_list_benefit_plan_years_params.rb +0 -22
  315. data/lib/vitable_connect/models/employer_list_benefit_plan_years_response.rb +0 -301
  316. data/lib/vitable_connect/models/employer_list_employees_params.rb +0 -65
  317. data/lib/vitable_connect/models/employer_list_hris_providers_params.rb +0 -14
  318. data/lib/vitable_connect/models/employer_list_hris_providers_response.rb +0 -30
  319. data/lib/vitable_connect/models/employer_list_invoices_params.rb +0 -38
  320. data/lib/vitable_connect/models/employer_list_invoices_response.rb +0 -77
  321. data/lib/vitable_connect/models/employer_list_params.rb +0 -143
  322. data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_params.rb +0 -38
  323. data/lib/vitable_connect/models/employer_list_payroll_deduction_statements_response.rb +0 -113
  324. data/lib/vitable_connect/models/employer_list_response.rb +0 -283
  325. data/lib/vitable_connect/models/employer_response.rb +0 -19
  326. data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rb +0 -30
  327. data/lib/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rb +0 -813
  328. data/lib/vitable_connect/models/employer_retrieve_hris_params.rb +0 -22
  329. data/lib/vitable_connect/models/employer_retrieve_hris_response.rb +0 -55
  330. data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_params.rb +0 -30
  331. data/lib/vitable_connect/models/employer_retrieve_invoice_pdf_response.rb +0 -17
  332. data/lib/vitable_connect/models/employer_retrieve_params.rb +0 -22
  333. data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rb +0 -22
  334. data/lib/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rb +0 -35
  335. data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +0 -375
  336. data/lib/vitable_connect/models/employer_submit_census_sync_response.rb +0 -35
  337. data/lib/vitable_connect/models/employer_submit_payroll_access_setup_params.rb +0 -267
  338. data/lib/vitable_connect/models/employer_submit_payroll_access_setup_response.rb +0 -35
  339. data/lib/vitable_connect/models/employer_update_params.rb +0 -99
  340. data/lib/vitable_connect/models/employer_update_settings_params.rb +0 -52
  341. data/lib/vitable_connect/models/employer_update_settings_response.rb +0 -56
  342. data/lib/vitable_connect/models/enrollment.rb +0 -234
  343. data/lib/vitable_connect/models/enrollment_reissue_params.rb +0 -50
  344. data/lib/vitable_connect/models/enrollment_reissue_response.rb +0 -30
  345. data/lib/vitable_connect/models/enrollment_retrieve_params.rb +0 -22
  346. data/lib/vitable_connect/models/enrollment_retrieve_response.rb +0 -18
  347. data/lib/vitable_connect/models/enrollment_status.rb +0 -21
  348. data/lib/vitable_connect/models/enrollment_terminate_params.rb +0 -50
  349. data/lib/vitable_connect/models/group.rb +0 -57
  350. data/lib/vitable_connect/models/group_create_params.rb +0 -26
  351. data/lib/vitable_connect/models/group_list_params.rb +0 -30
  352. data/lib/vitable_connect/models/group_response.rb +0 -18
  353. data/lib/vitable_connect/models/group_retrieve_params.rb +0 -22
  354. data/lib/vitable_connect/models/group_update_params.rb +0 -36
  355. data/lib/vitable_connect/models/groups/members/sync_retrieve_params.rb +0 -33
  356. data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +0 -128
  357. data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +0 -121
  358. data/lib/vitable_connect/models/groups/members/sync_submit_response.rb +0 -45
  359. data/lib/vitable_connect/models/member_list_dependents_params.rb +0 -20
  360. data/lib/vitable_connect/models/member_list_dependents_response.rb +0 -132
  361. data/lib/vitable_connect/models/member_list_employments_params.rb +0 -20
  362. data/lib/vitable_connect/models/member_list_employments_response.rb +0 -18
  363. data/lib/vitable_connect/models/member_list_enrollments_params.rb +0 -20
  364. data/lib/vitable_connect/models/member_list_enrollments_response.rb +0 -319
  365. data/lib/vitable_connect/models/member_list_id_cards_params.rb +0 -20
  366. data/lib/vitable_connect/models/member_list_id_cards_response.rb +0 -368
  367. data/lib/vitable_connect/models/member_list_params.rb +0 -38
  368. data/lib/vitable_connect/models/member_list_qualifying_life_events_params.rb +0 -57
  369. data/lib/vitable_connect/models/member_list_qualifying_life_events_response.rb +0 -96
  370. data/lib/vitable_connect/models/member_list_response.rb +0 -108
  371. data/lib/vitable_connect/models/member_retrieve_household_params.rb +0 -20
  372. data/lib/vitable_connect/models/member_retrieve_household_response.rb +0 -128
  373. data/lib/vitable_connect/models/member_retrieve_params.rb +0 -20
  374. data/lib/vitable_connect/models/member_retrieve_response.rb +0 -195
  375. data/lib/vitable_connect/models/organization_create_params.rb +0 -57
  376. data/lib/vitable_connect/models/organization_create_response.rb +0 -104
  377. data/lib/vitable_connect/models/organization_list_params.rb +0 -14
  378. data/lib/vitable_connect/models/organization_list_response.rb +0 -128
  379. data/lib/vitable_connect/models/pagination.rb +0 -42
  380. data/lib/vitable_connect/models/plan_list_params.rb +0 -30
  381. data/lib/vitable_connect/models/plan_list_response.rb +0 -22
  382. data/lib/vitable_connect/models/webhook_event.rb +0 -62
  383. data/lib/vitable_connect/models/webhook_event_list_deliveries_params.rb +0 -20
  384. data/lib/vitable_connect/models/webhook_event_list_deliveries_response.rb +0 -92
  385. data/lib/vitable_connect/models/webhook_event_list_params.rb +0 -135
  386. data/lib/vitable_connect/models/webhook_event_retrieve_params.rb +0 -20
  387. data/lib/vitable_connect/models/webhook_event_retrieve_response.rb +0 -18
  388. data/lib/vitable_connect/models.rb +0 -156
  389. data/lib/vitable_connect/request_options.rb +0 -78
  390. data/lib/vitable_connect/resources/auth.rb +0 -41
  391. data/lib/vitable_connect/resources/employees.rb +0 -111
  392. data/lib/vitable_connect/resources/employers.rb +0 -588
  393. data/lib/vitable_connect/resources/enrollments.rb +0 -110
  394. data/lib/vitable_connect/resources/groups/members/sync.rb +0 -74
  395. data/lib/vitable_connect/resources/groups/members.rb +0 -20
  396. data/lib/vitable_connect/resources/groups.rb +0 -114
  397. data/lib/vitable_connect/resources/members.rb +0 -231
  398. data/lib/vitable_connect/resources/organizations.rb +0 -66
  399. data/lib/vitable_connect/resources/plans.rb +0 -41
  400. data/lib/vitable_connect/resources/webhook_events.rb +0 -95
  401. data/manifest.yaml +0 -17
  402. data/rbi/vitable_connect/client.rbi +0 -106
  403. data/rbi/vitable_connect/errors.rbi +0 -205
  404. data/rbi/vitable_connect/file_part.rbi +0 -37
  405. data/rbi/vitable_connect/internal/page_number_page.rbi +0 -49
  406. data/rbi/vitable_connect/internal/transport/base_client.rbi +0 -310
  407. data/rbi/vitable_connect/internal/transport/pooled_net_requester.rbi +0 -84
  408. data/rbi/vitable_connect/internal/type/array_of.rbi +0 -108
  409. data/rbi/vitable_connect/internal/type/base_model.rbi +0 -314
  410. data/rbi/vitable_connect/internal/type/base_page.rbi +0 -43
  411. data/rbi/vitable_connect/internal/type/boolean.rbi +0 -58
  412. data/rbi/vitable_connect/internal/type/converter.rbi +0 -225
  413. data/rbi/vitable_connect/internal/type/enum.rbi +0 -82
  414. data/rbi/vitable_connect/internal/type/file_input.rbi +0 -59
  415. data/rbi/vitable_connect/internal/type/hash_of.rbi +0 -108
  416. data/rbi/vitable_connect/internal/type/request_parameters.rbi +0 -31
  417. data/rbi/vitable_connect/internal/type/union.rbi +0 -130
  418. data/rbi/vitable_connect/internal/type/unknown.rbi +0 -58
  419. data/rbi/vitable_connect/internal/util.rbi +0 -515
  420. data/rbi/vitable_connect/internal.rbi +0 -18
  421. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +0 -195
  422. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +0 -174
  423. data/rbi/vitable_connect/models/employee.rbi +0 -551
  424. data/rbi/vitable_connect/models/employee_class.rbi +0 -38
  425. data/rbi/vitable_connect/models/employee_list_enrollments_params.rbi +0 -68
  426. data/rbi/vitable_connect/models/employee_retrieve_params.rbi +0 -46
  427. data/rbi/vitable_connect/models/employee_retrieve_response.rbi +0 -32
  428. data/rbi/vitable_connect/models/employee_update_params.rbi +0 -323
  429. data/rbi/vitable_connect/models/employee_update_response.rbi +0 -32
  430. data/rbi/vitable_connect/models/employer.rbi +0 -255
  431. data/rbi/vitable_connect/models/employer_create_params.rbi +0 -169
  432. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbi +0 -46
  433. data/rbi/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbi +0 -72
  434. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbi +0 -165
  435. data/rbi/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbi +0 -278
  436. data/rbi/vitable_connect/models/employer_list_benefit_plan_years_params.rbi +0 -46
  437. data/rbi/vitable_connect/models/employer_list_benefit_plan_years_response.rbi +0 -539
  438. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +0 -138
  439. data/rbi/vitable_connect/models/employer_list_hris_providers_params.rbi +0 -32
  440. data/rbi/vitable_connect/models/employer_list_hris_providers_response.rbi +0 -74
  441. data/rbi/vitable_connect/models/employer_list_invoices_params.rbi +0 -65
  442. data/rbi/vitable_connect/models/employer_list_invoices_response.rbi +0 -151
  443. data/rbi/vitable_connect/models/employer_list_params.rbi +0 -348
  444. data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_params.rbi +0 -68
  445. data/rbi/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbi +0 -169
  446. data/rbi/vitable_connect/models/employer_list_response.rbi +0 -426
  447. data/rbi/vitable_connect/models/employer_response.rbi +0 -36
  448. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbi +0 -54
  449. data/rbi/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbi +0 -1574
  450. data/rbi/vitable_connect/models/employer_retrieve_hris_params.rbi +0 -46
  451. data/rbi/vitable_connect/models/employer_retrieve_hris_response.rbi +0 -120
  452. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbi +0 -54
  453. data/rbi/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbi +0 -30
  454. data/rbi/vitable_connect/models/employer_retrieve_params.rbi +0 -46
  455. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbi +0 -46
  456. data/rbi/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbi +0 -83
  457. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +0 -821
  458. data/rbi/vitable_connect/models/employer_submit_census_sync_response.rbi +0 -76
  459. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_params.rbi +0 -441
  460. data/rbi/vitable_connect/models/employer_submit_payroll_access_setup_response.rbi +0 -83
  461. data/rbi/vitable_connect/models/employer_update_params.rbi +0 -155
  462. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +0 -114
  463. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +0 -147
  464. data/rbi/vitable_connect/models/enrollment.rbi +0 -401
  465. data/rbi/vitable_connect/models/enrollment_reissue_params.rbi +0 -72
  466. data/rbi/vitable_connect/models/enrollment_reissue_response.rbi +0 -67
  467. data/rbi/vitable_connect/models/enrollment_retrieve_params.rbi +0 -46
  468. data/rbi/vitable_connect/models/enrollment_retrieve_response.rbi +0 -34
  469. data/rbi/vitable_connect/models/enrollment_status.rbi +0 -32
  470. data/rbi/vitable_connect/models/enrollment_terminate_params.rbi +0 -72
  471. data/rbi/vitable_connect/models/group.rbi +0 -77
  472. data/rbi/vitable_connect/models/group_create_params.rbi +0 -46
  473. data/rbi/vitable_connect/models/group_list_params.rbi +0 -60
  474. data/rbi/vitable_connect/models/group_response.rbi +0 -32
  475. data/rbi/vitable_connect/models/group_retrieve_params.rbi +0 -43
  476. data/rbi/vitable_connect/models/group_update_params.rbi +0 -58
  477. data/rbi/vitable_connect/models/groups/members/sync_retrieve_params.rbi +0 -56
  478. data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +0 -282
  479. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +0 -214
  480. data/rbi/vitable_connect/models/groups/members/sync_submit_response.rbi +0 -92
  481. data/rbi/vitable_connect/models/member_list_dependents_params.rbi +0 -38
  482. data/rbi/vitable_connect/models/member_list_dependents_response.rbi +0 -249
  483. data/rbi/vitable_connect/models/member_list_employments_params.rbi +0 -38
  484. data/rbi/vitable_connect/models/member_list_employments_response.rbi +0 -31
  485. data/rbi/vitable_connect/models/member_list_enrollments_params.rbi +0 -38
  486. data/rbi/vitable_connect/models/member_list_enrollments_response.rbi +0 -579
  487. data/rbi/vitable_connect/models/member_list_id_cards_params.rbi +0 -38
  488. data/rbi/vitable_connect/models/member_list_id_cards_response.rbi +0 -624
  489. data/rbi/vitable_connect/models/member_list_params.rbi +0 -71
  490. data/rbi/vitable_connect/models/member_list_qualifying_life_events_params.rbi +0 -130
  491. data/rbi/vitable_connect/models/member_list_qualifying_life_events_response.rbi +0 -192
  492. data/rbi/vitable_connect/models/member_list_response.rbi +0 -166
  493. data/rbi/vitable_connect/models/member_retrieve_household_params.rbi +0 -38
  494. data/rbi/vitable_connect/models/member_retrieve_household_response.rbi +0 -251
  495. data/rbi/vitable_connect/models/member_retrieve_params.rbi +0 -38
  496. data/rbi/vitable_connect/models/member_retrieve_response.rbi +0 -312
  497. data/rbi/vitable_connect/models/organization_create_params.rbi +0 -127
  498. data/rbi/vitable_connect/models/organization_create_response.rbi +0 -212
  499. data/rbi/vitable_connect/models/organization_list_params.rbi +0 -32
  500. data/rbi/vitable_connect/models/organization_list_response.rbi +0 -266
  501. data/rbi/vitable_connect/models/pagination.rbi +0 -62
  502. data/rbi/vitable_connect/models/plan_list_params.rbi +0 -60
  503. data/rbi/vitable_connect/models/plan_list_response.rbi +0 -29
  504. data/rbi/vitable_connect/models/webhook_event.rbi +0 -81
  505. data/rbi/vitable_connect/models/webhook_event_list_deliveries_params.rbi +0 -38
  506. data/rbi/vitable_connect/models/webhook_event_list_deliveries_response.rbi +0 -147
  507. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +0 -307
  508. data/rbi/vitable_connect/models/webhook_event_retrieve_params.rbi +0 -38
  509. data/rbi/vitable_connect/models/webhook_event_retrieve_response.rbi +0 -34
  510. data/rbi/vitable_connect/models.rbi +0 -134
  511. data/rbi/vitable_connect/request_options.rbi +0 -61
  512. data/rbi/vitable_connect/resources/auth.rbi +0 -36
  513. data/rbi/vitable_connect/resources/employees.rbi +0 -110
  514. data/rbi/vitable_connect/resources/employers.rbi +0 -520
  515. data/rbi/vitable_connect/resources/enrollments.rbi +0 -88
  516. data/rbi/vitable_connect/resources/groups/members/sync.rbi +0 -62
  517. data/rbi/vitable_connect/resources/groups/members.rbi +0 -17
  518. data/rbi/vitable_connect/resources/groups.rbi +0 -79
  519. data/rbi/vitable_connect/resources/members.rbi +0 -169
  520. data/rbi/vitable_connect/resources/organizations.rbi +0 -48
  521. data/rbi/vitable_connect/resources/plans.rbi +0 -34
  522. data/rbi/vitable_connect/resources/webhook_events.rbi +0 -84
  523. data/rbi/vitable_connect/version.rbi +0 -5
  524. data/sig/vitable_connect/client.rbs +0 -52
  525. data/sig/vitable_connect/errors.rbs +0 -117
  526. data/sig/vitable_connect/file_part.rbs +0 -21
  527. data/sig/vitable_connect/internal/page_number_page.rbs +0 -28
  528. data/sig/vitable_connect/internal/transport/base_client.rbs +0 -135
  529. data/sig/vitable_connect/internal/transport/pooled_net_requester.rbs +0 -48
  530. data/sig/vitable_connect/internal/type/array_of.rbs +0 -48
  531. data/sig/vitable_connect/internal/type/base_model.rbs +0 -104
  532. data/sig/vitable_connect/internal/type/base_page.rbs +0 -24
  533. data/sig/vitable_connect/internal/type/boolean.rbs +0 -26
  534. data/sig/vitable_connect/internal/type/converter.rbs +0 -79
  535. data/sig/vitable_connect/internal/type/enum.rbs +0 -32
  536. data/sig/vitable_connect/internal/type/file_input.rbs +0 -25
  537. data/sig/vitable_connect/internal/type/hash_of.rbs +0 -48
  538. data/sig/vitable_connect/internal/type/request_parameters.rbs +0 -20
  539. data/sig/vitable_connect/internal/type/union.rbs +0 -52
  540. data/sig/vitable_connect/internal/type/unknown.rbs +0 -26
  541. data/sig/vitable_connect/internal/util.rbs +0 -199
  542. data/sig/vitable_connect/internal.rbs +0 -10
  543. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +0 -74
  544. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +0 -68
  545. data/sig/vitable_connect/models/employee.rbs +0 -261
  546. data/sig/vitable_connect/models/employee_class.rbs +0 -24
  547. data/sig/vitable_connect/models/employee_list_enrollments_params.rbs +0 -36
  548. data/sig/vitable_connect/models/employee_retrieve_params.rbs +0 -24
  549. data/sig/vitable_connect/models/employee_retrieve_response.rbs +0 -13
  550. data/sig/vitable_connect/models/employee_update_params.rbs +0 -140
  551. data/sig/vitable_connect/models/employee_update_response.rbs +0 -13
  552. data/sig/vitable_connect/models/employer.rbs +0 -129
  553. data/sig/vitable_connect/models/employer_create_params.rbs +0 -93
  554. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_params.rbs +0 -24
  555. data/sig/vitable_connect/models/employer_ensure_payroll_integration_email_response.rbs +0 -30
  556. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_params.rbs +0 -74
  557. data/sig/vitable_connect/models/employer_list_benefit_plan_year_enrollments_response.rbs +0 -111
  558. data/sig/vitable_connect/models/employer_list_benefit_plan_years_params.rbs +0 -24
  559. data/sig/vitable_connect/models/employer_list_benefit_plan_years_response.rbs +0 -197
  560. data/sig/vitable_connect/models/employer_list_employees_params.rbs +0 -67
  561. data/sig/vitable_connect/models/employer_list_hris_providers_params.rbs +0 -15
  562. data/sig/vitable_connect/models/employer_list_hris_providers_response.rbs +0 -30
  563. data/sig/vitable_connect/models/employer_list_invoices_params.rbs +0 -34
  564. data/sig/vitable_connect/models/employer_list_invoices_response.rbs +0 -62
  565. data/sig/vitable_connect/models/employer_list_params.rbs +0 -125
  566. data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_params.rbs +0 -36
  567. data/sig/vitable_connect/models/employer_list_payroll_deduction_statements_response.rbs +0 -73
  568. data/sig/vitable_connect/models/employer_list_response.rbs +0 -179
  569. data/sig/vitable_connect/models/employer_response.rbs +0 -13
  570. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_params.rbs +0 -28
  571. data/sig/vitable_connect/models/employer_retrieve_benefit_plan_year_response.rbs +0 -540
  572. data/sig/vitable_connect/models/employer_retrieve_hris_params.rbs +0 -24
  573. data/sig/vitable_connect/models/employer_retrieve_hris_response.rbs +0 -50
  574. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_params.rbs +0 -28
  575. data/sig/vitable_connect/models/employer_retrieve_invoice_pdf_response.rbs +0 -13
  576. data/sig/vitable_connect/models/employer_retrieve_params.rbs +0 -24
  577. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_params.rbs +0 -24
  578. data/sig/vitable_connect/models/employer_retrieve_payroll_access_setup_response.rbs +0 -32
  579. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +0 -274
  580. data/sig/vitable_connect/models/employer_submit_census_sync_response.rbs +0 -30
  581. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_params.rbs +0 -198
  582. data/sig/vitable_connect/models/employer_submit_payroll_access_setup_response.rbs +0 -32
  583. data/sig/vitable_connect/models/employer_update_params.rbs +0 -83
  584. data/sig/vitable_connect/models/employer_update_settings_params.rbs +0 -44
  585. data/sig/vitable_connect/models/employer_update_settings_response.rbs +0 -48
  586. data/sig/vitable_connect/models/enrollment.rbs +0 -164
  587. data/sig/vitable_connect/models/enrollment_reissue_params.rbs +0 -41
  588. data/sig/vitable_connect/models/enrollment_reissue_response.rbs +0 -28
  589. data/sig/vitable_connect/models/enrollment_retrieve_params.rbs +0 -24
  590. data/sig/vitable_connect/models/enrollment_retrieve_response.rbs +0 -13
  591. data/sig/vitable_connect/models/enrollment_status.rbs +0 -16
  592. data/sig/vitable_connect/models/enrollment_terminate_params.rbs +0 -41
  593. data/sig/vitable_connect/models/group.rbs +0 -45
  594. data/sig/vitable_connect/models/group_create_params.rbs +0 -28
  595. data/sig/vitable_connect/models/group_list_params.rbs +0 -32
  596. data/sig/vitable_connect/models/group_response.rbs +0 -13
  597. data/sig/vitable_connect/models/group_retrieve_params.rbs +0 -23
  598. data/sig/vitable_connect/models/group_update_params.rbs +0 -32
  599. data/sig/vitable_connect/models/groups/members/sync_retrieve_params.rbs +0 -32
  600. data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +0 -126
  601. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +0 -124
  602. data/sig/vitable_connect/models/groups/members/sync_submit_response.rbs +0 -47
  603. data/sig/vitable_connect/models/member_list_dependents_params.rbs +0 -23
  604. data/sig/vitable_connect/models/member_list_dependents_response.rbs +0 -96
  605. data/sig/vitable_connect/models/member_list_employments_params.rbs +0 -23
  606. data/sig/vitable_connect/models/member_list_employments_response.rbs +0 -14
  607. data/sig/vitable_connect/models/member_list_enrollments_params.rbs +0 -23
  608. data/sig/vitable_connect/models/member_list_enrollments_response.rbs +0 -215
  609. data/sig/vitable_connect/models/member_list_id_cards_params.rbs +0 -23
  610. data/sig/vitable_connect/models/member_list_id_cards_response.rbs +0 -256
  611. data/sig/vitable_connect/models/member_list_params.rbs +0 -38
  612. data/sig/vitable_connect/models/member_list_qualifying_life_events_params.rbs +0 -61
  613. data/sig/vitable_connect/models/member_list_qualifying_life_events_response.rbs +0 -67
  614. data/sig/vitable_connect/models/member_list_response.rbs +0 -82
  615. data/sig/vitable_connect/models/member_retrieve_household_params.rbs +0 -23
  616. data/sig/vitable_connect/models/member_retrieve_household_response.rbs +0 -92
  617. data/sig/vitable_connect/models/member_retrieve_params.rbs +0 -23
  618. data/sig/vitable_connect/models/member_retrieve_response.rbs +0 -143
  619. data/sig/vitable_connect/models/organization_create_params.rbs +0 -52
  620. data/sig/vitable_connect/models/organization_create_response.rbs +0 -77
  621. data/sig/vitable_connect/models/organization_list_params.rbs +0 -15
  622. data/sig/vitable_connect/models/organization_list_response.rbs +0 -99
  623. data/sig/vitable_connect/models/pagination.rbs +0 -30
  624. data/sig/vitable_connect/models/plan_list_params.rbs +0 -32
  625. data/sig/vitable_connect/models/plan_list_response.rbs +0 -15
  626. data/sig/vitable_connect/models/webhook_event.rbs +0 -45
  627. data/sig/vitable_connect/models/webhook_event_list_deliveries_params.rbs +0 -23
  628. data/sig/vitable_connect/models/webhook_event_list_deliveries_response.rbs +0 -77
  629. data/sig/vitable_connect/models/webhook_event_list_params.rbs +0 -126
  630. data/sig/vitable_connect/models/webhook_event_retrieve_params.rbs +0 -23
  631. data/sig/vitable_connect/models/webhook_event_retrieve_response.rbs +0 -14
  632. data/sig/vitable_connect/models.rbs +0 -109
  633. data/sig/vitable_connect/request_options.rbs +0 -36
  634. data/sig/vitable_connect/resources/auth.rbs +0 -13
  635. data/sig/vitable_connect/resources/employees.rbs +0 -32
  636. data/sig/vitable_connect/resources/employers.rbs +0 -153
  637. data/sig/vitable_connect/resources/enrollments.rbs +0 -28
  638. data/sig/vitable_connect/resources/groups/members/sync.rbs +0 -23
  639. data/sig/vitable_connect/resources/groups/members.rbs +0 -11
  640. data/sig/vitable_connect/resources/groups.rbs +0 -33
  641. data/sig/vitable_connect/resources/members.rbs +0 -52
  642. data/sig/vitable_connect/resources/organizations.rbs +0 -17
  643. data/sig/vitable_connect/resources/plans.rbs +0 -13
  644. data/sig/vitable_connect/resources/webhook_events.rbs +0 -28
  645. data/sig/vitable_connect/version.rbs +0 -3
@@ -0,0 +1,265 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module Http
6
+ # @api private
7
+ class RawClient
8
+ # Default HTTP status codes that trigger a retry
9
+ RETRYABLE_STATUSES = [408, 429, 500, 502, 503, 504, 521, 522, 524].freeze
10
+ # Initial delay between retries in seconds
11
+ INITIAL_RETRY_DELAY = 0.5
12
+ # Maximum delay between retries in seconds
13
+ MAX_RETRY_DELAY = 60.0
14
+ # Jitter factor for randomizing retry delays (20%)
15
+ JITTER_FACTOR = 0.2
16
+
17
+ # @return [String] The base URL for requests
18
+ attr_reader :base_url
19
+
20
+ # @param base_url [String] The base url for the request.
21
+ # @param max_retries [Integer] The number of times to retry a failed request, defaults to 2.
22
+ # @param timeout [Float] The timeout for the request, defaults to 60.0 seconds.
23
+ # @param headers [Hash] The headers for the request.
24
+ # @param overridable_headers [Array<String>] The names of the client-level headers a request
25
+ # may replace via `additional_headers`. Holds the API's global headers; SDK metadata and
26
+ # auth headers are absent from it and so stay protected.
27
+ # @param auth_provider [Object, nil] An optional auth provider responding to
28
+ # `auth_headers`. When present its headers are resolved on every request so
29
+ # token-based schemes (e.g. OAuth) can refresh an expired token mid-session.
30
+ def initialize(base_url:, max_retries: 2, timeout: 60.0, headers: {}, overridable_headers: [], auth_provider: nil)
31
+ @base_url = base_url
32
+ @max_retries = max_retries
33
+ @timeout = timeout
34
+ @auth_provider = auth_provider
35
+ @default_headers = {
36
+ "X-Fern-Language": "Ruby",
37
+ "X-Fern-SDK-Name": "vitableconnect",
38
+ "X-Fern-SDK-Version": "0.0.1"
39
+ }.merge(headers)
40
+ @overridable_headers = overridable_headers.to_set { |name| name.to_s.downcase }
41
+ end
42
+
43
+ # @param request [VitableConnect::Internal::Http::BaseRequest] The HTTP request.
44
+ # @return [HTTP::Response] The HTTP response.
45
+ def send(request)
46
+ url = build_url(request)
47
+ # Resolve auth headers once per request (not per retry) so token-based
48
+ # providers refresh at most once here; static providers are cheap.
49
+ auth_headers = resolve_auth_headers
50
+ attempt = 0
51
+ response = nil
52
+
53
+ loop do
54
+ http_request = build_http_request(
55
+ url:,
56
+ method: request.method,
57
+ headers: request.encode_headers(protected_keys: protected_header_keys + auth_headers.keys),
58
+ body: request.encode_body,
59
+ auth_headers: auth_headers
60
+ )
61
+
62
+ conn = connect(url)
63
+ conn.open_timeout = @timeout
64
+ conn.read_timeout = @timeout
65
+ conn.write_timeout = @timeout
66
+ conn.continue_timeout = @timeout
67
+
68
+ response = conn.request(http_request)
69
+
70
+ break unless should_retry?(response, attempt)
71
+
72
+ delay = retry_delay(response, attempt)
73
+ sleep(delay)
74
+ attempt += 1
75
+ end
76
+
77
+ response
78
+ end
79
+
80
+ # The client-level header names that `additional_headers` must not replace: every default
81
+ # header except the API's global headers, which are overridable per request.
82
+ # @return [Array<Symbol, String>] The protected header names.
83
+ def protected_header_keys
84
+ return @default_headers.keys if @overridable_headers.empty?
85
+
86
+ @default_headers.keys.reject { |name| @overridable_headers.include?(name.to_s.downcase) }
87
+ end
88
+
89
+ # Determines if a request should be retried based on the response status code.
90
+ # @param response [Net::HTTPResponse] The HTTP response.
91
+ # @param attempt [Integer] The current retry attempt (0-indexed).
92
+ # @return [Boolean] Whether the request should be retried.
93
+ def should_retry?(response, attempt)
94
+ return false if attempt >= @max_retries
95
+
96
+ status = response.code.to_i
97
+ RETRYABLE_STATUSES.include?(status)
98
+ end
99
+
100
+ # Calculates the delay before the next retry attempt using exponential backoff with jitter.
101
+ # Respects Retry-After header if present.
102
+ # @param response [Net::HTTPResponse] The HTTP response.
103
+ # @param attempt [Integer] The current retry attempt (0-indexed).
104
+ # @return [Float] The delay in seconds before the next retry.
105
+ def retry_delay(response, attempt)
106
+ # Check for Retry-After header (can be seconds or HTTP date)
107
+ retry_after = response["Retry-After"]
108
+ if retry_after
109
+ delay = parse_retry_after(retry_after)
110
+ return [delay, MAX_RETRY_DELAY].min if delay&.positive?
111
+ end
112
+
113
+ # Exponential backoff with jitter: base_delay * 2^attempt
114
+ base_delay = INITIAL_RETRY_DELAY * (2**attempt)
115
+ add_jitter([base_delay, MAX_RETRY_DELAY].min)
116
+ end
117
+
118
+ # Parses the Retry-After header value.
119
+ # @param value [String] The Retry-After header value (seconds or HTTP date).
120
+ # @return [Float, nil] The delay in seconds, or nil if parsing fails.
121
+ def parse_retry_after(value)
122
+ # Try parsing as integer (seconds)
123
+ seconds = Integer(value, exception: false)
124
+ return seconds.to_f if seconds
125
+
126
+ # Try parsing as HTTP date
127
+ begin
128
+ retry_time = Time.httpdate(value)
129
+ delay = retry_time - Time.now
130
+ delay.positive? ? delay : nil
131
+ rescue ArgumentError
132
+ nil
133
+ end
134
+ end
135
+
136
+ # Adds random jitter to a delay value.
137
+ # @param delay [Float] The base delay in seconds.
138
+ # @return [Float] The delay with jitter applied.
139
+ def add_jitter(delay)
140
+ jitter = delay * JITTER_FACTOR * (rand - 0.5) * 2
141
+ [delay + jitter, 0].max
142
+ end
143
+
144
+ LOCALHOST_HOSTS = %w[localhost 127.0.0.1 [::1]].freeze
145
+
146
+ # @param request [VitableConnect::Internal::Http::BaseRequest] The HTTP request.
147
+ # @return [URI::Generic] The URL.
148
+ def build_url(request)
149
+ encoded_query = request.encode_query
150
+
151
+ # If the path is already an absolute URL, use it directly
152
+ if request.path.start_with?("http://", "https://")
153
+ url = request.path
154
+ url = "#{url}?#{encode_query(encoded_query)}" if encoded_query&.any?
155
+ parsed = URI.parse(url)
156
+ validate_https!(parsed)
157
+ return parsed
158
+ end
159
+
160
+ path = request.path.start_with?("/") ? request.path[1..] : request.path
161
+ base = request.base_url || @base_url
162
+ url = "#{base.chomp("/")}/#{path}"
163
+ url = "#{url}?#{encode_query(encoded_query)}" if encoded_query&.any?
164
+ parsed = URI.parse(url)
165
+ validate_https!(parsed)
166
+ parsed
167
+ end
168
+
169
+ # Raises if the URL uses http:// for a non-localhost host, which would
170
+ # send authentication credentials in plaintext.
171
+ # @param url [URI::Generic] The parsed URL.
172
+ def validate_https!(url)
173
+ return if url.scheme != "http"
174
+ return if LOCALHOST_HOSTS.include?(url.host)
175
+
176
+ raise ArgumentError,
177
+ "Refusing to send request to non-HTTPS URL: #{url}. " \
178
+ "HTTP is only allowed for localhost. Use HTTPS or pass a localhost URL."
179
+ end
180
+
181
+ # Resolves the auth headers to send with the next request. Delegates to the
182
+ # configured auth provider (if any) on every call so that token-based
183
+ # providers (e.g. OAuth client-credentials) can refresh an expired token
184
+ # before the request is sent. Returns an empty hash when no provider is set,
185
+ # which keeps the api-key / basic / bearer / no-auth paths unchanged.
186
+ # @return [Hash] The auth headers for the current request.
187
+ def resolve_auth_headers
188
+ return {} if @auth_provider.nil?
189
+
190
+ @auth_provider.auth_headers
191
+ end
192
+
193
+ # @param url [URI::Generic] The url to the resource.
194
+ # @param method [String] The HTTP method to use.
195
+ # @param headers [Hash] The headers for the request.
196
+ # @param body [String, nil] The body for the request.
197
+ # @param auth_headers [Hash] The auth headers resolved for this request. These
198
+ # take precedence over the static default headers but not over per-request
199
+ # headers, mirroring the previous baked-header precedence.
200
+ # @return [HTTP::Request] The HTTP request.
201
+ def build_http_request(url:, method:, headers: {}, body: nil, auth_headers: {})
202
+ request = Net::HTTPGenericRequest.new(
203
+ method,
204
+ !body.nil?,
205
+ method != "HEAD",
206
+ url
207
+ )
208
+
209
+ request_headers = @default_headers.merge(auth_headers).merge(headers)
210
+ request_headers.each { |name, value| request[name] = value }
211
+ request.body = body if body
212
+
213
+ # Net::HTTP disables its transparent gzip/deflate decoding as soon as an
214
+ # Accept-Encoding header is set explicitly on the request. Re-enable it so
215
+ # that compressed response bodies are still inflated.
216
+ request.extend(DecodeContent) if request_headers.keys.any? { |name| name.to_s.casecmp("accept-encoding").zero? }
217
+
218
+ request
219
+ end
220
+
221
+ # Keeps Net::HTTP's transparent gzip/deflate response decoding enabled
222
+ # even when an Accept-Encoding header is set explicitly on the request.
223
+ # @api private
224
+ module DecodeContent
225
+ def decode_content # rubocop:disable Naming/PredicateMethod
226
+ true
227
+ end
228
+ end
229
+
230
+ # @param query [Hash] The query for the request.
231
+ # @return [String, nil] The encoded query.
232
+ def encode_query(query)
233
+ query.to_h.empty? ? nil : URI.encode_www_form(query)
234
+ end
235
+
236
+ # @param url [URI::Generic] The url to connect to.
237
+ # @return [Net::HTTP] The HTTP connection.
238
+ def connect(url)
239
+ is_https = (url.scheme == "https")
240
+
241
+ port = if url.port
242
+ url.port
243
+ elsif is_https
244
+ Net::HTTP.https_default_port
245
+ else
246
+ Net::HTTP.http_default_port
247
+ end
248
+
249
+ http = Net::HTTP.new(url.host, port)
250
+ http.use_ssl = is_https
251
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER if is_https
252
+ # NOTE: We handle retries at the application level with HTTP status code awareness,
253
+ # so we set max_retries to 0 to disable Net::HTTP's built-in network-level retries.
254
+ http.max_retries = 0
255
+ http
256
+ end
257
+
258
+ # @return [String]
259
+ def inspect
260
+ "#<#{self.class.name}:0x#{object_id.to_s(16)} @base_url=#{@base_url.inspect}>"
261
+ end
262
+ end
263
+ end
264
+ end
265
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ class CursorItemIterator < ItemIterator
6
+ # Instantiates a CursorItemIterator, an Enumerable class which wraps calls to a cursor-based paginated API and yields individual items from it.
7
+ #
8
+ # @param initial_cursor [String] The initial cursor to use when iterating, if any.
9
+ # @param cursor_field [Symbol] The field in API responses to extract the next cursor from.
10
+ # @param item_field [Symbol] The field in API responses to extract the items to iterate over.
11
+ # @param block [Proc] A block which is responsible for receiving a cursor to use and returning the given page from the API.
12
+ # @return [VitableConnect::Internal::CursorItemIterator]
13
+ def initialize(initial_cursor:, cursor_field:, item_field:, &)
14
+ super()
15
+ @item_field = item_field
16
+ @page_iterator = CursorPageIterator.new(initial_cursor:, cursor_field:, &)
17
+ @page = nil
18
+ end
19
+
20
+ # Returns the CursorPageIterator mediating access to the underlying API.
21
+ #
22
+ # @return [VitableConnect::Internal::CursorPageIterator]
23
+ def pages
24
+ @page_iterator
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ class CursorPageIterator
6
+ include Enumerable
7
+
8
+ # The raw HTTP response from the most recent page response.
9
+ # @return [Net::HTTPResponse, nil]
10
+ attr_reader :http_response
11
+
12
+ # Instantiates a CursorPageIterator, an Enumerable class which wraps calls to a cursor-based paginated API and yields pages of items.
13
+ #
14
+ # @param initial_cursor [String] The initial cursor to use when iterating, if any.
15
+ # @param cursor_field [Symbol] The name of the field in API responses to extract the next cursor from.
16
+ # @param block [Proc] A block which is responsible for receiving a cursor to use and returning the given page from the API.
17
+ # The block should return a two-element array: [parsed_page, raw_http_response].
18
+ # @return [VitableConnect::Internal::CursorPageIterator]
19
+ def initialize(initial_cursor:, cursor_field:, &block)
20
+ @need_initial_load = initial_cursor.nil?
21
+ @cursor = initial_cursor
22
+ @cursor_field = cursor_field
23
+ @get_next_page = block
24
+ @http_response = nil
25
+ end
26
+
27
+ # Iterates over each page returned by the API.
28
+ #
29
+ # @param block [Proc] The block which each retrieved page is yielded to.
30
+ # @return [NilClass]
31
+ def each(&block)
32
+ while (page = next_page)
33
+ block.call(page)
34
+ end
35
+ end
36
+
37
+ # Whether another page will be available from the API.
38
+ #
39
+ # @return [Boolean]
40
+ def next?
41
+ @need_initial_load || !@cursor.nil?
42
+ end
43
+
44
+ # Retrieves the next page from the API.
45
+ #
46
+ # @return [Object, nil]
47
+ def next_page
48
+ return if !@need_initial_load && @cursor.nil?
49
+
50
+ @need_initial_load = false
51
+ result = @get_next_page.call(@cursor)
52
+ if result.is_a?(Array)
53
+ fetched_page, raw_response = result
54
+ @http_response = raw_response
55
+ else
56
+ fetched_page = result
57
+ end
58
+ @cursor = fetched_page.send(@cursor_field)
59
+ fetched_page
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ class ItemIterator
6
+ include Enumerable
7
+
8
+ # The raw HTTP response from the most recent page response.
9
+ # @return [Net::HTTPResponse, nil]
10
+ def http_response
11
+ @page_iterator&.http_response
12
+ end
13
+
14
+ # Iterates over each item returned by the API.
15
+ #
16
+ # @param block [Proc] The block which each retrieved item is yielded to.
17
+ # @return [NilClass]
18
+ def each(&block)
19
+ while (item = next_element)
20
+ block.call(item)
21
+ end
22
+ end
23
+
24
+ # Whether another item will be available from the API.
25
+ #
26
+ # @return [Boolean]
27
+ def next?
28
+ load_next_page if @page.nil?
29
+ return false if @page.nil?
30
+
31
+ return true if any_items_in_cached_page?
32
+
33
+ load_next_page
34
+ any_items_in_cached_page?
35
+ end
36
+
37
+ # Retrieves the next item from the API.
38
+ def next_element
39
+ item = next_item_from_cached_page
40
+ return item if item
41
+
42
+ load_next_page
43
+ next_item_from_cached_page
44
+ end
45
+
46
+ private
47
+
48
+ def next_item_from_cached_page
49
+ return unless @page
50
+
51
+ @page.send(@item_field).shift
52
+ end
53
+
54
+ def any_items_in_cached_page?
55
+ return false unless @page
56
+
57
+ !@page.send(@item_field).empty?
58
+ end
59
+
60
+ def load_next_page
61
+ @page = @page_iterator.next_page
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ class OffsetItemIterator < ItemIterator
6
+ # Instantiates an OffsetItemIterator, an Enumerable class which wraps calls to an offset-based paginated API and yields the individual items from it.
7
+ #
8
+ # @param initial_page [Integer] The initial page or offset to start from when iterating.
9
+ # @param item_field [Symbol] The name of the field in API responses to extract the items to iterate over.
10
+ # @param has_next_field [Symbol] The name of the field in API responses containing a boolean of whether another page exists.
11
+ # @param step [Boolean] If true, treats the page number as a true offset (i.e. increments the page number by the number of items returned from each call rather than just 1)
12
+ # @param block [Proc] A block which is responsible for receiving a page number to use and returning the given page from the API.
13
+ #
14
+ # @return [VitableConnect::Internal::OffsetItemIterator]
15
+ def initialize(initial_page:, item_field:, has_next_field:, step:, &)
16
+ super()
17
+ @item_field = item_field
18
+ @page_iterator = OffsetPageIterator.new(initial_page:, item_field:, has_next_field:, step:, &)
19
+ @page = nil
20
+ end
21
+
22
+ # Returns the OffsetPageIterator that is mediating access to the underlying API.
23
+ #
24
+ # @return [VitableConnect::Internal::OffsetPageIterator]
25
+ def pages
26
+ @page_iterator
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ class OffsetPageIterator
6
+ include Enumerable
7
+
8
+ # The raw HTTP response from the most recent page response.
9
+ # @return [Net::HTTPResponse, nil]
10
+ attr_reader :http_response
11
+
12
+ # Instantiates an OffsetPageIterator, an Enumerable class which wraps calls to an offset-based paginated API and yields pages of items from it.
13
+ #
14
+ # @param initial_page [Integer] The initial page to use when iterating, if any.
15
+ # @param item_field [Symbol] The field to pull the list of items to iterate over.
16
+ # @param has_next_field [Symbol] The field to pull the boolean of whether a next page exists from, if any.
17
+ # @param step [Boolean] If true, treats the page number as a true offset (i.e. increments the page number by the number of items returned from each call rather than just 1)
18
+ # @param block [Proc] A block which is responsible for receiving a page number to use and returning the given page from the API.
19
+ # The block should return a two-element array: [parsed_page, raw_http_response].
20
+ # @return [VitableConnect::Internal::OffsetPageIterator]
21
+ def initialize(initial_page:, item_field:, has_next_field:, step:, &block)
22
+ @page_number = initial_page || (step ? 0 : 1)
23
+ @item_field = item_field
24
+ @has_next_field = has_next_field
25
+ @step = step
26
+ @get_next_page = block
27
+
28
+ # A cache of whether the API has another page, if it gives us that information...
29
+ @next_page = nil
30
+ # ...or the actual next page, preloaded, if it doesn't.
31
+ @has_next_page = nil
32
+
33
+ @http_response = nil
34
+ end
35
+
36
+ # Iterates over each page returned by the API.
37
+ #
38
+ # @param block [Proc] The block which each retrieved page is yielded to.
39
+ # @return [NilClass]
40
+ def each(&block)
41
+ while (page = next_page)
42
+ block.call(page)
43
+ end
44
+ end
45
+
46
+ # Whether another page will be available from the API.
47
+ #
48
+ # @return [Boolean]
49
+ def next?
50
+ return @has_next_page unless @has_next_page.nil?
51
+ return true if @next_page
52
+
53
+ fetched_page = fetch_page(@page_number)
54
+ fetched_page_items = fetched_page&.send(@item_field)
55
+ if fetched_page_items.nil? || fetched_page_items.empty?
56
+ @has_next_page = false
57
+ else
58
+ @next_page = fetched_page
59
+ true
60
+ end
61
+ end
62
+
63
+ # Returns the next page from the API.
64
+ def next_page
65
+ return nil if @page_number.nil?
66
+
67
+ if @next_page
68
+ this_page = @next_page
69
+ @next_page = nil
70
+ else
71
+ this_page = fetch_page(@page_number)
72
+ end
73
+
74
+ @has_next_page = this_page&.send(@has_next_field) if @has_next_field
75
+
76
+ items = this_page.send(@item_field)
77
+ if items.nil? || items.empty?
78
+ @page_number = nil
79
+ return nil
80
+ elsif @step
81
+ @page_number += items.length
82
+ else
83
+ @page_number += 1
84
+ end
85
+
86
+ this_page
87
+ end
88
+
89
+ private
90
+
91
+ def fetch_page(page_number)
92
+ result = @get_next_page.call(page_number)
93
+ if result.is_a?(Array)
94
+ fetched_page, raw_response = result
95
+ @http_response = raw_response
96
+ fetched_page
97
+ else
98
+ result
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module JSON
6
+ # @api private
7
+ class Request < VitableConnect::Internal::Http::BaseRequest
8
+ attr_reader :body
9
+
10
+ # @param base_url [String] The base URL for the request
11
+ # @param path [String] The path for the request
12
+ # @param method [Symbol] The HTTP method for the request (:get, :post, etc.)
13
+ # @param headers [Hash] Additional headers for the request (optional)
14
+ # @param query [Hash] Query parameters for the request (optional)
15
+ # @param body [Object, nil] The JSON request body (optional)
16
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ def initialize(base_url:, path:, method:, headers: {}, query: {}, body: nil, request_options: {})
18
+ super(base_url:, path:, method:, headers:, query:, request_options:)
19
+
20
+ @body = body
21
+ end
22
+
23
+ # @return [Hash] The encoded HTTP request headers.
24
+ # @param protected_keys [Array<String>] Header keys set by the SDK client (e.g. auth, metadata)
25
+ # that must not be overridden by additional_headers from request_options.
26
+ def encode_headers(protected_keys: [])
27
+ sdk_headers = {
28
+ "Content-Type" => "application/json",
29
+ "Accept" => "application/json"
30
+ }.merge(@headers)
31
+ merge_additional_headers(sdk_headers, protected_keys:)
32
+ end
33
+
34
+ # @return [String, nil] The encoded HTTP request body.
35
+ def encode_body
36
+ @body.nil? ? nil : ::JSON.generate(@body)
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ module JSON
6
+ module Serializable
7
+ # Loads data from JSON into its deserialized form
8
+ #
9
+ # @param str [String] Raw JSON to load into an object
10
+ # @return [Object]
11
+ def load(str)
12
+ raise NotImplementedError
13
+ end
14
+
15
+ # Dumps data from its deserialized form into JSON
16
+ #
17
+ # @param value [Object] The deserialized value
18
+ # @return [String]
19
+ def dump(value)
20
+ raise NotImplementedError
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end