finch-api 0.1.0.pre.alpha.1 → 0.1.0.pre.alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +63 -20
- data/lib/finch-api/base_client.rb +52 -59
- data/lib/finch-api/base_model.rb +453 -415
- data/lib/finch-api/base_page.rb +34 -15
- data/lib/finch-api/client.rb +3 -7
- data/lib/finch-api/errors.rb +12 -17
- data/lib/finch-api/extern.rb +1 -4
- data/lib/finch-api/individuals_page.rb +28 -34
- data/lib/finch-api/models/account_update_event.rb +6 -31
- data/lib/finch-api/models/company_event.rb +3 -11
- data/lib/finch-api/models/connect/session_new_params.rb +9 -52
- data/lib/finch-api/models/connect/session_reauthenticate_params.rb +3 -22
- data/lib/finch-api/models/connection_status_type.rb +3 -21
- data/lib/finch-api/models/create_access_token_response.rb +6 -30
- data/lib/finch-api/models/directory_event.rb +3 -15
- data/lib/finch-api/models/employment_event.rb +3 -15
- data/lib/finch-api/models/hris/benefit_contribution.rb +3 -14
- data/lib/finch-api/models/hris/benefit_features_and_operations.rb +9 -39
- data/lib/finch-api/models/hris/benefit_frequency.rb +3 -15
- data/lib/finch-api/models/hris/benefit_type.rb +3 -22
- data/lib/finch-api/models/hris/benefits/enrolled_individual.rb +3 -18
- data/lib/finch-api/models/hris/benefits/individual_benefit.rb +3 -14
- data/lib/finch-api/models/hris/benefits/individual_enroll_many_params.rb +9 -40
- data/lib/finch-api/models/hris/company.rb +9 -52
- data/lib/finch-api/models/hris/document_list_params.rb +3 -13
- data/lib/finch-api/models/hris/document_response.rb +3 -14
- data/lib/finch-api/models/hris/document_retreive_response.rb +7 -23
- data/lib/finch-api/models/hris/employment_data.rb +9 -58
- data/lib/finch-api/models/hris/individual.rb +12 -66
- data/lib/finch-api/models/hris/pay_statement.rb +12 -70
- data/lib/finch-api/models/hris/payment.rb +3 -21
- data/lib/finch-api/models/hris/supported_benefit.rb +9 -39
- data/lib/finch-api/models/hris/w42005.rb +12 -49
- data/lib/finch-api/models/hris/w42020.rb +8 -29
- data/lib/finch-api/models/income.rb +3 -22
- data/lib/finch-api/models/individual_event.rb +3 -15
- data/lib/finch-api/models/introspection.rb +9 -50
- data/lib/finch-api/models/job_completion_event.rb +3 -21
- data/lib/finch-api/models/jobs/automated_async_job.rb +6 -35
- data/lib/finch-api/models/jobs/automated_create_params.rb +3 -12
- data/lib/finch-api/models/jobs/automated_list_response.rb +100 -0
- data/lib/finch-api/models/jobs/manual_async_job.rb +3 -17
- data/lib/finch-api/models/operation_support.rb +3 -18
- data/lib/finch-api/models/pay_statement_event.rb +3 -15
- data/lib/finch-api/models/payment_event.rb +3 -15
- data/lib/finch-api/models/payroll/pay_group_list_response.rb +3 -21
- data/lib/finch-api/models/payroll/pay_group_retrieve_response.rb +3 -21
- data/lib/finch-api/models/provider.rb +3 -20
- data/lib/finch-api/models/sandbox/company_update_params.rb +9 -52
- data/lib/finch-api/models/sandbox/company_update_response.rb +9 -52
- data/lib/finch-api/models/sandbox/connection_create_params.rb +3 -17
- data/lib/finch-api/models/sandbox/connection_create_response.rb +3 -17
- data/lib/finch-api/models/sandbox/connections/account_create_params.rb +3 -17
- data/lib/finch-api/models/sandbox/connections/account_create_response.rb +3 -17
- data/lib/finch-api/models/sandbox/connections/account_update_response.rb +3 -17
- data/lib/finch-api/models/sandbox/directory_create_params.rb +24 -131
- data/lib/finch-api/models/sandbox/employment_update_params.rb +9 -58
- data/lib/finch-api/models/sandbox/employment_update_response.rb +9 -58
- data/lib/finch-api/models/sandbox/individual_update_params.rb +15 -73
- data/lib/finch-api/models/sandbox/individual_update_response.rb +15 -73
- data/lib/finch-api/models/sandbox/job_create_params.rb +3 -12
- data/lib/finch-api/models/sandbox/jobs/configuration_retrieve_response.rb +2 -1
- data/lib/finch-api/models/sandbox/jobs/sandbox_job_configuration.rb +6 -28
- data/lib/finch-api/models/sandbox/payment_create_params.rb +12 -70
- data/lib/finch-api/models/webhook_event.rb +10 -27
- data/lib/finch-api/page.rb +28 -34
- data/lib/finch-api/pooled_net_requester.rb +51 -46
- data/lib/finch-api/request_options.rb +5 -12
- data/lib/finch-api/resources/access_tokens.rb +0 -2
- data/lib/finch-api/resources/account.rb +0 -3
- data/lib/finch-api/resources/connect/sessions.rb +0 -3
- data/lib/finch-api/resources/connect.rb +0 -1
- data/lib/finch-api/resources/hris/benefits/individuals.rb +2 -6
- data/lib/finch-api/resources/hris/benefits.rb +0 -6
- data/lib/finch-api/resources/hris/company.rb +0 -2
- data/lib/finch-api/resources/hris/directory.rb +1 -24
- data/lib/finch-api/resources/hris/documents.rb +4 -7
- data/lib/finch-api/resources/hris/employments.rb +0 -2
- data/lib/finch-api/resources/hris/individuals.rb +0 -2
- data/lib/finch-api/resources/hris/pay_statements.rb +0 -2
- data/lib/finch-api/resources/hris/payments.rb +0 -2
- data/lib/finch-api/resources/hris.rb +0 -1
- data/lib/finch-api/resources/jobs/automated.rb +2 -7
- data/lib/finch-api/resources/jobs/manual.rb +0 -2
- data/lib/finch-api/resources/jobs.rb +0 -1
- data/lib/finch-api/resources/payroll/pay_groups.rb +0 -3
- data/lib/finch-api/resources/payroll.rb +0 -1
- data/lib/finch-api/resources/providers.rb +0 -2
- data/lib/finch-api/resources/request_forwarding.rb +0 -2
- data/lib/finch-api/resources/sandbox/company.rb +0 -2
- data/lib/finch-api/resources/sandbox/connections/accounts.rb +0 -3
- data/lib/finch-api/resources/sandbox/connections.rb +0 -2
- data/lib/finch-api/resources/sandbox/directory.rb +0 -2
- data/lib/finch-api/resources/sandbox/employment.rb +0 -2
- data/lib/finch-api/resources/sandbox/individual.rb +0 -2
- data/lib/finch-api/resources/sandbox/jobs/configuration.rb +0 -3
- data/lib/finch-api/resources/sandbox/jobs.rb +0 -2
- data/lib/finch-api/resources/sandbox/payment.rb +0 -2
- data/lib/finch-api/resources/sandbox.rb +0 -1
- data/lib/finch-api/resources/webhooks.rb +0 -1
- data/lib/finch-api/responses_page.rb +24 -31
- data/lib/finch-api/single_page.rb +23 -31
- data/lib/finch-api/util.rb +216 -124
- data/lib/finch-api/version.rb +1 -1
- data/lib/finch-api.rb +17 -0
- data/manifest.yaml +1 -0
- data/rbi/lib/finch-api/base_client.rbi +89 -66
- data/rbi/lib/finch-api/base_model.rbi +403 -236
- data/rbi/lib/finch-api/base_page.rbi +3 -6
- data/rbi/lib/finch-api/client.rbi +23 -28
- data/rbi/lib/finch-api/errors.rbi +20 -22
- data/rbi/lib/finch-api/extern.rbi +1 -1
- data/rbi/lib/finch-api/individuals_page.rbi +5 -23
- data/rbi/lib/finch-api/models/access_token_create_params.rbi +13 -24
- data/rbi/lib/finch-api/models/account_disconnect_params.rbi +9 -2
- data/rbi/lib/finch-api/models/account_introspect_params.rbi +9 -2
- data/rbi/lib/finch-api/models/account_update_event.rbi +871 -983
- data/rbi/lib/finch-api/models/base_webhook_event.rbi +13 -19
- data/rbi/lib/finch-api/models/company_event.rbi +28 -20
- data/rbi/lib/finch-api/models/connect/session_new_params.rbi +90 -104
- data/rbi/lib/finch-api/models/connect/session_new_response.rbi +6 -14
- data/rbi/lib/finch-api/models/connect/session_reauthenticate_params.rbi +37 -47
- data/rbi/lib/finch-api/models/connect/session_reauthenticate_response.rbi +6 -14
- data/rbi/lib/finch-api/models/connection_status_type.rbi +13 -9
- data/rbi/lib/finch-api/models/create_access_token_response.rbi +61 -78
- data/rbi/lib/finch-api/models/directory_event.rbi +42 -27
- data/rbi/lib/finch-api/models/disconnect_response.rbi +4 -8
- data/rbi/lib/finch-api/models/employment_event.rbi +42 -27
- data/rbi/lib/finch-api/models/hris/benefit_contribution.rbi +29 -21
- data/rbi/lib/finch-api/models/hris/benefit_create_params.rbi +18 -26
- data/rbi/lib/finch-api/models/hris/benefit_features_and_operations.rbi +199 -86
- data/rbi/lib/finch-api/models/hris/benefit_frequency.rbi +9 -6
- data/rbi/lib/finch-api/models/hris/benefit_list_params.rbi +9 -2
- data/rbi/lib/finch-api/models/hris/benefit_list_supported_benefits_params.rbi +9 -2
- data/rbi/lib/finch-api/models/hris/benefit_retrieve_params.rbi +9 -2
- data/rbi/lib/finch-api/models/hris/benefit_type.rbi +26 -22
- data/rbi/lib/finch-api/models/hris/benefit_update_params.rbi +7 -11
- data/rbi/lib/finch-api/models/hris/benefits/enrolled_individual.rbi +43 -49
- data/rbi/lib/finch-api/models/hris/benefits/individual_benefit.rbi +74 -63
- data/rbi/lib/finch-api/models/hris/benefits/individual_enroll_many_params.rbi +249 -104
- data/rbi/lib/finch-api/models/hris/benefits/individual_enrolled_ids_params.rbi +9 -2
- data/rbi/lib/finch-api/models/hris/benefits/individual_enrolled_ids_response.rbi +4 -14
- data/rbi/lib/finch-api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi +11 -8
- data/rbi/lib/finch-api/models/hris/benefits/individual_unenroll_many_params.rbi +7 -8
- data/rbi/lib/finch-api/models/hris/benefits/unenrolled_individual.rbi +23 -39
- data/rbi/lib/finch-api/models/hris/benefits_support.rbi +88 -86
- data/rbi/lib/finch-api/models/hris/benfit_contribution.rbi +1 -1
- data/rbi/lib/finch-api/models/hris/company.rbi +119 -171
- data/rbi/lib/finch-api/models/hris/company_benefit.rbi +13 -32
- data/rbi/lib/finch-api/models/hris/company_retrieve_params.rbi +9 -2
- data/rbi/lib/finch-api/models/hris/create_company_benefits_response.rbi +3 -8
- data/rbi/lib/finch-api/models/hris/directory_list_individuals_params.rbi +11 -13
- data/rbi/lib/finch-api/models/hris/directory_list_params.rbi +11 -13
- data/rbi/lib/finch-api/models/hris/document_list_params.rbi +32 -31
- data/rbi/lib/finch-api/models/hris/document_list_response.rbi +10 -17
- data/rbi/lib/finch-api/models/hris/document_response.rbi +40 -43
- data/rbi/lib/finch-api/models/hris/document_retreive_params.rbi +9 -2
- data/rbi/lib/finch-api/models/hris/document_retreive_response.rbi +6 -4
- data/rbi/lib/finch-api/models/hris/employment_data.rbi +163 -205
- data/rbi/lib/finch-api/models/hris/employment_data_response.rbi +18 -17
- data/rbi/lib/finch-api/models/hris/employment_retrieve_many_params.rbi +12 -21
- data/rbi/lib/finch-api/models/hris/individual.rbi +126 -151
- data/rbi/lib/finch-api/models/hris/individual_in_directory.rbi +42 -68
- data/rbi/lib/finch-api/models/hris/individual_response.rbi +18 -17
- data/rbi/lib/finch-api/models/hris/individual_retrieve_many_params.rbi +27 -31
- data/rbi/lib/finch-api/models/hris/pay_statement.rbi +290 -341
- data/rbi/lib/finch-api/models/hris/pay_statement_response.rbi +18 -20
- data/rbi/lib/finch-api/models/hris/pay_statement_response_body.rbi +13 -16
- data/rbi/lib/finch-api/models/hris/pay_statement_retrieve_many_params.rbi +18 -31
- data/rbi/lib/finch-api/models/hris/payment.rbi +63 -103
- data/rbi/lib/finch-api/models/hris/payment_list_params.rbi +9 -15
- data/rbi/lib/finch-api/models/hris/support_per_benefit_type.rbi +10 -14
- data/rbi/lib/finch-api/models/hris/supported_benefit.rbi +83 -79
- data/rbi/lib/finch-api/models/hris/update_company_benefit_response.rbi +3 -8
- data/rbi/lib/finch-api/models/hris/w42005.rbi +86 -70
- data/rbi/lib/finch-api/models/hris/w42020.rbi +84 -86
- data/rbi/lib/finch-api/models/income.rbi +34 -41
- data/rbi/lib/finch-api/models/individual_event.rbi +42 -27
- data/rbi/lib/finch-api/models/introspection.rbi +138 -178
- data/rbi/lib/finch-api/models/job_completion_event.rbi +48 -37
- data/rbi/lib/finch-api/models/jobs/automated_async_job.rbi +66 -94
- data/rbi/lib/finch-api/models/jobs/automated_create_params.rbi +26 -33
- data/rbi/lib/finch-api/models/jobs/automated_create_response.rbi +11 -31
- data/rbi/lib/finch-api/models/jobs/automated_list_params.rbi +11 -13
- data/rbi/lib/finch-api/models/jobs/automated_list_response.rbi +126 -0
- data/rbi/lib/finch-api/models/jobs/automated_retrieve_params.rbi +9 -2
- data/rbi/lib/finch-api/models/jobs/manual_async_job.rbi +32 -27
- data/rbi/lib/finch-api/models/jobs/manual_retrieve_params.rbi +9 -2
- data/rbi/lib/finch-api/models/location.rbi +16 -59
- data/rbi/lib/finch-api/models/money.rbi +7 -13
- data/rbi/lib/finch-api/models/operation_support.rbi +18 -7
- data/rbi/lib/finch-api/models/operation_support_matrix.rbi +65 -27
- data/rbi/lib/finch-api/models/paging.rbi +10 -12
- data/rbi/lib/finch-api/models/pay_statement_event.rbi +46 -32
- data/rbi/lib/finch-api/models/payment_event.rbi +39 -34
- data/rbi/lib/finch-api/models/payroll/pay_group_list_params.rbi +9 -13
- data/rbi/lib/finch-api/models/payroll/pay_group_list_response.rbi +55 -30
- data/rbi/lib/finch-api/models/payroll/pay_group_retrieve_params.rbi +9 -2
- data/rbi/lib/finch-api/models/payroll/pay_group_retrieve_response.rbi +45 -46
- data/rbi/lib/finch-api/models/provider.rbi +873 -964
- data/rbi/lib/finch-api/models/provider_list_params.rbi +9 -2
- data/rbi/lib/finch-api/models/request_forwarding_forward_params.rbi +20 -33
- data/rbi/lib/finch-api/models/request_forwarding_forward_response.rbi +40 -59
- data/rbi/lib/finch-api/models/sandbox/company_update_params.rbi +144 -166
- data/rbi/lib/finch-api/models/sandbox/company_update_response.rbi +145 -174
- data/rbi/lib/finch-api/models/sandbox/connection_create_params.rbi +43 -39
- data/rbi/lib/finch-api/models/sandbox/connection_create_response.rbi +38 -59
- data/rbi/lib/finch-api/models/sandbox/connections/account_create_params.rbi +62 -39
- data/rbi/lib/finch-api/models/sandbox/connections/account_create_response.rbi +54 -62
- data/rbi/lib/finch-api/models/sandbox/connections/account_update_params.rbi +17 -11
- data/rbi/lib/finch-api/models/sandbox/connections/account_update_response.rbi +55 -54
- data/rbi/lib/finch-api/models/sandbox/directory_create_params.rbi +377 -332
- data/rbi/lib/finch-api/models/sandbox/directory_create_response.rbi +1 -1
- data/rbi/lib/finch-api/models/sandbox/employment_update_params.rbi +190 -194
- data/rbi/lib/finch-api/models/sandbox/employment_update_response.rbi +195 -198
- data/rbi/lib/finch-api/models/sandbox/individual_update_params.rbi +148 -145
- data/rbi/lib/finch-api/models/sandbox/individual_update_response.rbi +160 -151
- data/rbi/lib/finch-api/models/sandbox/job_create_params.rbi +22 -19
- data/rbi/lib/finch-api/models/sandbox/job_create_response.rbi +11 -31
- data/rbi/lib/finch-api/models/sandbox/jobs/configuration_retrieve_params.rbi +9 -2
- data/rbi/lib/finch-api/models/sandbox/jobs/configuration_retrieve_response.rbi +2 -1
- data/rbi/lib/finch-api/models/sandbox/jobs/configuration_update_params.rbi +9 -2
- data/rbi/lib/finch-api/models/sandbox/jobs/sandbox_job_configuration.rbi +56 -26
- data/rbi/lib/finch-api/models/sandbox/payment_create_params.rbi +409 -393
- data/rbi/lib/finch-api/models/sandbox/payment_create_response.rbi +6 -14
- data/rbi/lib/finch-api/models/webhook_event.rbi +4 -4
- data/rbi/lib/finch-api/page.rbi +5 -23
- data/rbi/lib/finch-api/pooled_net_requester.rbi +39 -16
- data/rbi/lib/finch-api/request_options.rbi +33 -54
- data/rbi/lib/finch-api/resources/access_tokens.rbi +4 -3
- data/rbi/lib/finch-api/resources/account.rbi +6 -4
- data/rbi/lib/finch-api/resources/connect/sessions.rbi +17 -8
- data/rbi/lib/finch-api/resources/connect.rbi +3 -4
- data/rbi/lib/finch-api/resources/hris/benefits/individuals.rbi +33 -10
- data/rbi/lib/finch-api/resources/hris/benefits.rbi +32 -13
- data/rbi/lib/finch-api/resources/hris/company.rbi +4 -3
- data/rbi/lib/finch-api/resources/hris/directory.rbi +11 -15
- data/rbi/lib/finch-api/resources/hris/documents.rbi +27 -7
- data/rbi/lib/finch-api/resources/hris/employments.rbi +10 -5
- data/rbi/lib/finch-api/resources/hris/individuals.rbi +6 -5
- data/rbi/lib/finch-api/resources/hris/pay_statements.rbi +13 -5
- data/rbi/lib/finch-api/resources/hris/payments.rbi +13 -4
- data/rbi/lib/finch-api/resources/hris.rbi +10 -18
- data/rbi/lib/finch-api/resources/jobs/automated.rbi +39 -10
- data/rbi/lib/finch-api/resources/jobs/manual.rbi +5 -3
- data/rbi/lib/finch-api/resources/jobs.rbi +4 -6
- data/rbi/lib/finch-api/resources/payroll/pay_groups.rbi +6 -4
- data/rbi/lib/finch-api/resources/payroll.rbi +3 -4
- data/rbi/lib/finch-api/resources/providers.rbi +4 -3
- data/rbi/lib/finch-api/resources/request_forwarding.rbi +27 -4
- data/rbi/lib/finch-api/resources/sandbox/company.rbi +19 -7
- data/rbi/lib/finch-api/resources/sandbox/connections/accounts.rbi +19 -7
- data/rbi/lib/finch-api/resources/sandbox/connections.rbi +10 -6
- data/rbi/lib/finch-api/resources/sandbox/directory.rbi +12 -6
- data/rbi/lib/finch-api/resources/sandbox/employment.rbi +30 -11
- data/rbi/lib/finch-api/resources/sandbox/individual.rbi +26 -8
- data/rbi/lib/finch-api/resources/sandbox/jobs/configuration.rbi +9 -7
- data/rbi/lib/finch-api/resources/sandbox/jobs.rbi +11 -7
- data/rbi/lib/finch-api/resources/sandbox/payment.rbi +5 -4
- data/rbi/lib/finch-api/resources/sandbox.rbi +9 -16
- data/rbi/lib/finch-api/resources/webhooks.rbi +2 -2
- data/rbi/lib/finch-api/responses_page.rbi +4 -17
- data/rbi/lib/finch-api/single_page.rbi +4 -12
- data/rbi/lib/finch-api/util.rbi +228 -115
- data/rbi/lib/finch-api/version.rbi +1 -1
- data/sig/finch-api/base_client.rbs +20 -15
- data/sig/finch-api/base_model.rbs +36 -18
- data/sig/finch-api/base_page.rbs +1 -1
- data/sig/finch-api/client.rbs +8 -8
- data/sig/finch-api/errors.rbs +21 -21
- data/sig/finch-api/individuals_page.rbs +2 -7
- data/sig/finch-api/models/access_token_create_params.rbs +7 -12
- data/sig/finch-api/models/account_disconnect_params.rbs +1 -6
- data/sig/finch-api/models/account_introspect_params.rbs +1 -6
- data/sig/finch-api/models/account_update_event.rbs +204 -361
- data/sig/finch-api/models/base_webhook_event.rbs +5 -5
- data/sig/finch-api/models/company_event.rbs +13 -11
- data/sig/finch-api/models/connect/session_new_params.rbs +28 -32
- data/sig/finch-api/models/connect/session_new_response.rbs +1 -6
- data/sig/finch-api/models/connect/session_reauthenticate_params.rbs +11 -14
- data/sig/finch-api/models/connect/session_reauthenticate_response.rbs +1 -6
- data/sig/finch-api/models/connection_status_type.rbs +4 -2
- data/sig/finch-api/models/create_access_token_response.rbs +20 -21
- data/sig/finch-api/models/directory_event.rbs +13 -19
- data/sig/finch-api/models/disconnect_response.rbs +1 -5
- data/sig/finch-api/models/employment_event.rbs +13 -19
- data/sig/finch-api/models/hris/benefit_contribution.rbs +8 -11
- data/sig/finch-api/models/hris/benefit_create_params.rbs +6 -11
- data/sig/finch-api/models/hris/benefit_features_and_operations.rbs +25 -29
- data/sig/finch-api/models/hris/benefit_frequency.rbs +4 -2
- data/sig/finch-api/models/hris/benefit_list_params.rbs +1 -6
- data/sig/finch-api/models/hris/benefit_list_supported_benefits_params.rbs +1 -6
- data/sig/finch-api/models/hris/benefit_retrieve_params.rbs +1 -6
- data/sig/finch-api/models/hris/benefit_type.rbs +4 -2
- data/sig/finch-api/models/hris/benefit_update_params.rbs +4 -6
- data/sig/finch-api/models/hris/benefits/enrolled_individual.rbs +14 -18
- data/sig/finch-api/models/hris/benefits/individual_benefit.rbs +16 -25
- data/sig/finch-api/models/hris/benefits/individual_enroll_many_params.rbs +35 -54
- data/sig/finch-api/models/hris/benefits/individual_enrolled_ids_params.rbs +1 -6
- data/sig/finch-api/models/hris/benefits/individual_enrolled_ids_response.rbs +4 -6
- data/sig/finch-api/models/hris/benefits/individual_retrieve_many_benefits_params.rbs +4 -9
- data/sig/finch-api/models/hris/benefits/individual_unenroll_many_params.rbs +4 -9
- data/sig/finch-api/models/hris/benefits/unenrolled_individual.rbs +10 -16
- data/sig/finch-api/models/hris/benefits_support.rbs +14 -18
- data/sig/finch-api/models/hris/benfit_contribution.rbs +0 -1
- data/sig/finch-api/models/hris/company.rbs +39 -57
- data/sig/finch-api/models/hris/company_benefit.rbs +6 -10
- data/sig/finch-api/models/hris/company_retrieve_params.rbs +1 -6
- data/sig/finch-api/models/hris/create_company_benefits_response.rbs +1 -6
- data/sig/finch-api/models/hris/directory_list_individuals_params.rbs +5 -10
- data/sig/finch-api/models/hris/directory_list_params.rbs +5 -10
- data/sig/finch-api/models/hris/document_list_params.rbs +11 -14
- data/sig/finch-api/models/hris/document_list_response.rbs +4 -9
- data/sig/finch-api/models/hris/document_response.rbs +11 -14
- data/sig/finch-api/models/hris/document_retreive_params.rbs +1 -6
- data/sig/finch-api/models/hris/document_retreive_response.rbs +4 -2
- data/sig/finch-api/models/hris/employment_data.rbs +41 -59
- data/sig/finch-api/models/hris/employment_data_response.rbs +5 -10
- data/sig/finch-api/models/hris/employment_retrieve_many_params.rbs +5 -15
- data/sig/finch-api/models/hris/individual.rbs +39 -45
- data/sig/finch-api/models/hris/individual_in_directory.rbs +11 -26
- data/sig/finch-api/models/hris/individual_response.rbs +5 -10
- data/sig/finch-api/models/hris/individual_retrieve_many_params.rbs +7 -22
- data/sig/finch-api/models/hris/pay_statement.rbs +75 -131
- data/sig/finch-api/models/hris/pay_statement_response.rbs +5 -10
- data/sig/finch-api/models/hris/pay_statement_response_body.rbs +4 -9
- data/sig/finch-api/models/hris/pay_statement_retrieve_many_params.rbs +9 -15
- data/sig/finch-api/models/hris/payment.rbs +19 -26
- data/sig/finch-api/models/hris/payment_list_params.rbs +5 -10
- data/sig/finch-api/models/hris/support_per_benefit_type.rbs +4 -9
- data/sig/finch-api/models/hris/supported_benefit.rbs +22 -21
- data/sig/finch-api/models/hris/update_company_benefit_response.rbs +1 -6
- data/sig/finch-api/models/hris/w42005.rbs +26 -30
- data/sig/finch-api/models/hris/w42020.rbs +23 -25
- data/sig/finch-api/models/income.rbs +10 -10
- data/sig/finch-api/models/individual_event.rbs +13 -19
- data/sig/finch-api/models/introspection.rbs +43 -54
- data/sig/finch-api/models/job_completion_event.rbs +13 -20
- data/sig/finch-api/models/jobs/automated_async_job.rbs +20 -26
- data/sig/finch-api/models/jobs/automated_create_params.rbs +10 -18
- data/sig/finch-api/models/jobs/automated_create_response.rbs +6 -11
- data/sig/finch-api/models/jobs/automated_list_params.rbs +5 -10
- data/sig/finch-api/models/jobs/automated_list_response.rbs +82 -0
- data/sig/finch-api/models/jobs/automated_retrieve_params.rbs +1 -6
- data/sig/finch-api/models/jobs/manual_async_job.rbs +9 -11
- data/sig/finch-api/models/jobs/manual_retrieve_params.rbs +1 -6
- data/sig/finch-api/models/location.rbs +10 -12
- data/sig/finch-api/models/money.rbs +1 -3
- data/sig/finch-api/models/operation_support.rbs +4 -2
- data/sig/finch-api/models/operation_support_matrix.rbs +6 -10
- data/sig/finch-api/models/paging.rbs +1 -3
- data/sig/finch-api/models/pay_statement_event.rbs +13 -20
- data/sig/finch-api/models/payment_event.rbs +13 -17
- data/sig/finch-api/models/payroll/pay_group_list_params.rbs +5 -10
- data/sig/finch-api/models/payroll/pay_group_list_response.rbs +9 -12
- data/sig/finch-api/models/payroll/pay_group_retrieve_params.rbs +1 -6
- data/sig/finch-api/models/payroll/pay_group_retrieve_response.rbs +10 -13
- data/sig/finch-api/models/provider.rbs +200 -347
- data/sig/finch-api/models/provider_list_params.rbs +1 -5
- data/sig/finch-api/models/request_forwarding_forward_params.rbs +8 -13
- data/sig/finch-api/models/request_forwarding_forward_response.rbs +13 -23
- data/sig/finch-api/models/sandbox/company_update_params.rbs +39 -58
- data/sig/finch-api/models/sandbox/company_update_response.rbs +38 -57
- data/sig/finch-api/models/sandbox/connection_create_params.rbs +11 -14
- data/sig/finch-api/models/sandbox/connection_create_response.rbs +14 -17
- data/sig/finch-api/models/sandbox/connections/account_create_params.rbs +11 -14
- data/sig/finch-api/models/sandbox/connections/account_create_response.rbs +13 -16
- data/sig/finch-api/models/sandbox/connections/account_update_params.rbs +4 -9
- data/sig/finch-api/models/sandbox/connections/account_update_response.rbs +12 -15
- data/sig/finch-api/models/sandbox/directory_create_params.rbs +78 -106
- data/sig/finch-api/models/sandbox/employment_update_params.rbs +40 -59
- data/sig/finch-api/models/sandbox/employment_update_response.rbs +40 -59
- data/sig/finch-api/models/sandbox/individual_update_params.rbs +41 -50
- data/sig/finch-api/models/sandbox/individual_update_response.rbs +41 -50
- data/sig/finch-api/models/sandbox/job_create_params.rbs +8 -11
- data/sig/finch-api/models/sandbox/job_create_response.rbs +6 -11
- data/sig/finch-api/models/sandbox/jobs/configuration_retrieve_params.rbs +1 -6
- data/sig/finch-api/models/sandbox/jobs/configuration_update_params.rbs +1 -6
- data/sig/finch-api/models/sandbox/jobs/sandbox_job_configuration.rbs +12 -13
- data/sig/finch-api/models/sandbox/payment_create_params.rbs +81 -143
- data/sig/finch-api/models/sandbox/payment_create_response.rbs +1 -6
- data/sig/finch-api/models/webhook_event.rbs +5 -3
- data/sig/finch-api/page.rbs +2 -7
- data/sig/finch-api/pooled_net_requester.rbs +13 -4
- data/sig/finch-api/request_options.rbs +6 -2
- data/sig/finch-api/resources/access_tokens.rbs +7 -11
- data/sig/finch-api/resources/account.rbs +6 -16
- data/sig/finch-api/resources/connect/sessions.rbs +19 -29
- data/sig/finch-api/resources/hris/benefits/individuals.rbs +19 -43
- data/sig/finch-api/resources/hris/benefits.rbs +21 -48
- data/sig/finch-api/resources/hris/company.rbs +3 -8
- data/sig/finch-api/resources/hris/directory.rbs +6 -20
- data/sig/finch-api/resources/hris/documents.rbs +11 -22
- data/sig/finch-api/resources/hris/employments.rbs +4 -9
- data/sig/finch-api/resources/hris/individuals.rbs +5 -10
- data/sig/finch-api/resources/hris/pay_statements.rbs +4 -9
- data/sig/finch-api/resources/hris/payments.rbs +5 -10
- data/sig/finch-api/resources/jobs/automated.rbs +14 -30
- data/sig/finch-api/resources/jobs/manual.rbs +4 -10
- data/sig/finch-api/resources/payroll/pay_groups.rbs +9 -20
- data/sig/finch-api/resources/providers.rbs +3 -7
- data/sig/finch-api/resources/request_forwarding.rbs +8 -13
- data/sig/finch-api/resources/sandbox/company.rbs +11 -16
- data/sig/finch-api/resources/sandbox/connections/accounts.rbs +11 -21
- data/sig/finch-api/resources/sandbox/connections.rbs +7 -12
- data/sig/finch-api/resources/sandbox/directory.rbs +4 -9
- data/sig/finch-api/resources/sandbox/employment.rbs +22 -28
- data/sig/finch-api/resources/sandbox/individual.rbs +16 -22
- data/sig/finch-api/resources/sandbox/jobs/configuration.rbs +8 -18
- data/sig/finch-api/resources/sandbox/jobs.rbs +4 -9
- data/sig/finch-api/resources/sandbox/payment.rbs +6 -11
- data/sig/finch-api/responses_page.rbs +2 -7
- data/sig/finch-api/single_page.rbs +2 -7
- data/sig/finch-api/util.rbs +37 -12
- data/sig/finch-api/version.rbs +1 -1
- metadata +7 -4
@@ -243,28 +243,10 @@ module FinchAPI
|
|
243
243
|
end
|
244
244
|
end
|
245
245
|
|
246
|
-
# @abstract
|
247
|
-
#
|
248
246
|
# The type of earning.
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
# case type
|
253
|
-
# in :salary
|
254
|
-
# # ...
|
255
|
-
# in :wage
|
256
|
-
# # ...
|
257
|
-
# in :reimbursement
|
258
|
-
# # ...
|
259
|
-
# in :overtime
|
260
|
-
# # ...
|
261
|
-
# in :severance
|
262
|
-
# # ...
|
263
|
-
# in ...
|
264
|
-
# #...
|
265
|
-
# end
|
266
|
-
# ```
|
267
|
-
class Type < FinchAPI::Enum
|
247
|
+
module Type
|
248
|
+
extend FinchAPI::Enum
|
249
|
+
|
268
250
|
SALARY = :salary
|
269
251
|
WAGE = :wage
|
270
252
|
REIMBURSEMENT = :reimbursement
|
@@ -283,7 +265,6 @@ module FinchAPI
|
|
283
265
|
|
284
266
|
# @!parse
|
285
267
|
# # @return [Array<Symbol>]
|
286
|
-
# #
|
287
268
|
# def self.values; end
|
288
269
|
end
|
289
270
|
end
|
@@ -463,20 +444,10 @@ module FinchAPI
|
|
463
444
|
end
|
464
445
|
end
|
465
446
|
|
466
|
-
# @abstract
|
467
|
-
#
|
468
447
|
# The payment method.
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
# case payment_method
|
473
|
-
# in :check
|
474
|
-
# # ...
|
475
|
-
# in :direct_deposit
|
476
|
-
# # ...
|
477
|
-
# end
|
478
|
-
# ```
|
479
|
-
class PaymentMethod < FinchAPI::Enum
|
448
|
+
module PaymentMethod
|
449
|
+
extend FinchAPI::Enum
|
450
|
+
|
480
451
|
CHECK = :check
|
481
452
|
DIRECT_DEPOSIT = :direct_deposit
|
482
453
|
|
@@ -484,7 +455,6 @@ module FinchAPI
|
|
484
455
|
|
485
456
|
# @!parse
|
486
457
|
# # @return [Array<Symbol>]
|
487
|
-
# #
|
488
458
|
# def self.values; end
|
489
459
|
end
|
490
460
|
|
@@ -580,24 +550,10 @@ module FinchAPI
|
|
580
550
|
end
|
581
551
|
end
|
582
552
|
|
583
|
-
# @abstract
|
584
|
-
#
|
585
553
|
# The type of taxes.
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
# case type
|
590
|
-
# in :state
|
591
|
-
# # ...
|
592
|
-
# in :federal
|
593
|
-
# # ...
|
594
|
-
# in :local
|
595
|
-
# # ...
|
596
|
-
# in :fica
|
597
|
-
# # ...
|
598
|
-
# end
|
599
|
-
# ```
|
600
|
-
class Type < FinchAPI::Enum
|
554
|
+
module Type
|
555
|
+
extend FinchAPI::Enum
|
556
|
+
|
601
557
|
STATE = :state
|
602
558
|
FEDERAL = :federal
|
603
559
|
LOCAL = :local
|
@@ -607,27 +563,14 @@ module FinchAPI
|
|
607
563
|
|
608
564
|
# @!parse
|
609
565
|
# # @return [Array<Symbol>]
|
610
|
-
# #
|
611
566
|
# def self.values; end
|
612
567
|
end
|
613
568
|
end
|
614
569
|
|
615
|
-
# @abstract
|
616
|
-
#
|
617
570
|
# The type of the payment associated with the pay statement.
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
# case type
|
622
|
-
# in :regular_payroll
|
623
|
-
# # ...
|
624
|
-
# in :off_cycle_payroll
|
625
|
-
# # ...
|
626
|
-
# in :one_time_payment
|
627
|
-
# # ...
|
628
|
-
# end
|
629
|
-
# ```
|
630
|
-
class Type < FinchAPI::Enum
|
571
|
+
module Type
|
572
|
+
extend FinchAPI::Enum
|
573
|
+
|
631
574
|
REGULAR_PAYROLL = :regular_payroll
|
632
575
|
OFF_CYCLE_PAYROLL = :off_cycle_payroll
|
633
576
|
ONE_TIME_PAYMENT = :one_time_payment
|
@@ -636,7 +579,6 @@ module FinchAPI
|
|
636
579
|
|
637
580
|
# @!parse
|
638
581
|
# # @return [Array<Symbol>]
|
639
|
-
# #
|
640
582
|
# def self.values; end
|
641
583
|
end
|
642
584
|
end
|
@@ -2,37 +2,16 @@
|
|
2
2
|
|
3
3
|
module FinchAPI
|
4
4
|
module Models
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
# ```ruby
|
9
|
-
# case webhook_event
|
10
|
-
# in FinchAPI::Models::AccountUpdateEvent
|
11
|
-
# # ...
|
12
|
-
# in FinchAPI::Models::JobCompletionEvent
|
13
|
-
# # ...
|
14
|
-
# in FinchAPI::Models::CompanyEvent
|
15
|
-
# # ...
|
16
|
-
# in FinchAPI::Models::DirectoryEvent
|
17
|
-
# # ...
|
18
|
-
# in FinchAPI::Models::EmploymentEvent
|
19
|
-
# # ...
|
20
|
-
# in FinchAPI::Models::IndividualEvent
|
21
|
-
# # ...
|
22
|
-
# in FinchAPI::Models::PaymentEvent
|
23
|
-
# # ...
|
24
|
-
# in FinchAPI::Models::PayStatementEvent
|
25
|
-
# # ...
|
26
|
-
# end
|
27
|
-
# ```
|
28
|
-
class WebhookEvent < FinchAPI::Union
|
5
|
+
module WebhookEvent
|
6
|
+
extend FinchAPI::Union
|
7
|
+
|
29
8
|
discriminator :event_type
|
30
9
|
|
31
|
-
variant -> { FinchAPI::Models::AccountUpdateEvent }
|
10
|
+
variant :"account.updated", -> { FinchAPI::Models::AccountUpdateEvent }
|
32
11
|
|
33
|
-
variant -> { FinchAPI::Models::
|
12
|
+
variant :"company.updated", -> { FinchAPI::Models::CompanyEvent }
|
34
13
|
|
35
|
-
variant -> { FinchAPI::Models::
|
14
|
+
variant -> { FinchAPI::Models::JobCompletionEvent }
|
36
15
|
|
37
16
|
variant -> { FinchAPI::Models::DirectoryEvent }
|
38
17
|
|
@@ -43,6 +22,10 @@ module FinchAPI
|
|
43
22
|
variant -> { FinchAPI::Models::PaymentEvent }
|
44
23
|
|
45
24
|
variant -> { FinchAPI::Models::PayStatementEvent }
|
25
|
+
|
26
|
+
# @!parse
|
27
|
+
# # @return [Array(FinchAPI::Models::AccountUpdateEvent, FinchAPI::Models::CompanyEvent, FinchAPI::Models::JobCompletionEvent, FinchAPI::Models::DirectoryEvent, FinchAPI::Models::EmploymentEvent, FinchAPI::Models::IndividualEvent, FinchAPI::Models::PaymentEvent, FinchAPI::Models::PayStatementEvent)]
|
28
|
+
# def self.variants; end
|
46
29
|
end
|
47
30
|
end
|
48
31
|
end
|
data/lib/finch-api/page.rb
CHANGED
@@ -2,84 +2,79 @@
|
|
2
2
|
|
3
3
|
module FinchAPI
|
4
4
|
# @example
|
5
|
-
#
|
6
|
-
#
|
7
|
-
#
|
8
|
-
# end
|
9
|
-
# ```
|
5
|
+
# if page.has_next?
|
6
|
+
# page = page.next_page
|
7
|
+
# end
|
10
8
|
#
|
11
9
|
# @example
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
# end
|
16
|
-
# ```
|
10
|
+
# page.auto_paging_each do |item|
|
11
|
+
# puts(item)
|
12
|
+
# end
|
17
13
|
#
|
18
14
|
# @example
|
19
|
-
#
|
20
|
-
#
|
15
|
+
# items =
|
16
|
+
# page
|
17
|
+
# .to_enum
|
18
|
+
# .lazy
|
19
|
+
# .select { _1.object_id.even? }
|
20
|
+
# .map(&:itself)
|
21
|
+
# .take(2)
|
22
|
+
# .to_a
|
21
23
|
#
|
22
|
-
#
|
23
|
-
# ```
|
24
|
+
# items => Array
|
24
25
|
class Page
|
25
26
|
include FinchAPI::BasePage
|
26
27
|
|
27
|
-
# @return [Array<Object
|
28
|
+
# @return [Array<Object>, nil]
|
28
29
|
attr_accessor :data
|
29
30
|
|
30
31
|
# @return [FinchAPI::Models::Paging]
|
31
32
|
attr_accessor :paging
|
32
33
|
|
33
|
-
#
|
34
|
-
# @private
|
34
|
+
# @api private
|
35
35
|
#
|
36
36
|
# @param client [FinchAPI::BaseClient]
|
37
37
|
# @param req [Hash{Symbol=>Object}]
|
38
38
|
# @param headers [Hash{String=>String}, Net::HTTPHeader]
|
39
|
-
# @param
|
40
|
-
|
41
|
-
|
42
|
-
@client = client
|
43
|
-
@req = req
|
39
|
+
# @param page_data [Hash{Symbol=>Object}]
|
40
|
+
def initialize(client:, req:, headers:, page_data:)
|
41
|
+
super
|
44
42
|
model = req.fetch(:model)
|
45
43
|
|
46
|
-
case
|
44
|
+
case page_data
|
47
45
|
in {data: Array | nil => data}
|
48
|
-
@data = data&.map {
|
46
|
+
@data = data&.map { FinchAPI::Converter.coerce(model, _1) }
|
49
47
|
else
|
50
48
|
end
|
51
49
|
|
52
|
-
case
|
50
|
+
case page_data
|
53
51
|
in {paging: Hash | nil => paging}
|
54
52
|
@paging = FinchAPI::Models::Paging.coerce(paging)
|
55
53
|
else
|
56
54
|
end
|
57
55
|
end
|
58
|
-
# rubocop:enable Lint/UnusedMethodArgument
|
59
56
|
|
60
57
|
# @return [Boolean]
|
61
|
-
#
|
62
58
|
def next_page?
|
63
|
-
paging&.offset.to_i + data.size < paging&.count.to_i
|
59
|
+
paging&.offset.to_i + data.to_a.size < paging&.count.to_i
|
64
60
|
end
|
65
61
|
|
66
62
|
# @raise [FinchAPI::HTTP::Error]
|
67
63
|
# @return [FinchAPI::Page]
|
68
|
-
#
|
69
64
|
def next_page
|
70
65
|
unless next_page?
|
71
|
-
|
66
|
+
message = "No more pages available. Please check #next_page? before calling ##{__method__}"
|
67
|
+
raise RuntimeError.new(message)
|
72
68
|
end
|
73
69
|
|
74
|
-
req = FinchAPI::Util.deep_merge(@req, {query: {offset: paging&.offset.to_i + data.size}})
|
70
|
+
req = FinchAPI::Util.deep_merge(@req, {query: {offset: paging&.offset.to_i + data.to_a.size}})
|
75
71
|
@client.request(req)
|
76
72
|
end
|
77
73
|
|
78
74
|
# @param blk [Proc]
|
79
|
-
#
|
80
75
|
def auto_paging_each(&blk)
|
81
76
|
unless block_given?
|
82
|
-
raise ArgumentError.new("A block must be given to
|
77
|
+
raise ArgumentError.new("A block must be given to ##{__method__}")
|
83
78
|
end
|
84
79
|
page = self
|
85
80
|
loop do
|
@@ -90,7 +85,6 @@ module FinchAPI
|
|
90
85
|
end
|
91
86
|
|
92
87
|
# @return [String]
|
93
|
-
#
|
94
88
|
def inspect
|
95
89
|
"#<#{self.class}:0x#{object_id.to_s(16)} data=#{data.inspect} paging=#{paging.inspect}>"
|
96
90
|
end
|
@@ -1,16 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module FinchAPI
|
4
|
-
# @private
|
5
|
-
#
|
4
|
+
# @api private
|
6
5
|
class PooledNetRequester
|
6
|
+
# from the golang stdlib
|
7
|
+
# https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
|
8
|
+
KEEP_ALIVE_TIMEOUT = 30
|
9
|
+
|
7
10
|
class << self
|
8
|
-
# @private
|
11
|
+
# @api private
|
9
12
|
#
|
10
13
|
# @param url [URI::Generic]
|
11
14
|
#
|
12
15
|
# @return [Net::HTTP]
|
13
|
-
#
|
14
16
|
def connect(url)
|
15
17
|
port =
|
16
18
|
case [url.port, url.scheme]
|
@@ -28,17 +30,16 @@ module FinchAPI
|
|
28
30
|
end
|
29
31
|
end
|
30
32
|
|
31
|
-
# @private
|
33
|
+
# @api private
|
32
34
|
#
|
33
35
|
# @param conn [Net::HTTP]
|
34
36
|
# @param deadline [Float]
|
35
|
-
#
|
36
37
|
def calibrate_socket_timeout(conn, deadline)
|
37
38
|
timeout = deadline - FinchAPI::Util.monotonic_secs
|
38
39
|
conn.open_timeout = conn.read_timeout = conn.write_timeout = conn.continue_timeout = timeout
|
39
40
|
end
|
40
41
|
|
41
|
-
# @private
|
42
|
+
# @api private
|
42
43
|
#
|
43
44
|
# @param request [Hash{Symbol=>Object}] .
|
44
45
|
#
|
@@ -48,9 +49,11 @@ module FinchAPI
|
|
48
49
|
#
|
49
50
|
# @option request [Hash{String=>String}] :headers
|
50
51
|
#
|
51
|
-
# @
|
52
|
+
# @param blk [Proc]
|
52
53
|
#
|
53
|
-
|
54
|
+
# @yieldparam [String]
|
55
|
+
# @return [Net::HTTPGenericRequest]
|
56
|
+
def build_request(request, &)
|
54
57
|
method, url, headers, body = request.fetch_values(:method, :url, :headers, :body)
|
55
58
|
req = Net::HTTPGenericRequest.new(
|
56
59
|
method.to_s.upcase,
|
@@ -63,54 +66,44 @@ module FinchAPI
|
|
63
66
|
|
64
67
|
case body
|
65
68
|
in nil
|
69
|
+
nil
|
66
70
|
in String
|
67
|
-
req.
|
71
|
+
req["content-length"] ||= body.bytesize.to_s unless req["transfer-encoding"]
|
72
|
+
req.body_stream = FinchAPI::Util::ReadIOAdapter.new(body, &)
|
68
73
|
in StringIO
|
69
|
-
req
|
70
|
-
|
71
|
-
|
72
|
-
req
|
74
|
+
req["content-length"] ||= body.size.to_s unless req["transfer-encoding"]
|
75
|
+
req.body_stream = FinchAPI::Util::ReadIOAdapter.new(body, &)
|
76
|
+
in IO | Enumerator
|
77
|
+
req["transfer-encoding"] ||= "chunked" unless req["content-length"]
|
78
|
+
req.body_stream = FinchAPI::Util::ReadIOAdapter.new(body, &)
|
73
79
|
end
|
74
80
|
|
75
81
|
req
|
76
82
|
end
|
77
83
|
end
|
78
84
|
|
79
|
-
# @private
|
85
|
+
# @api private
|
80
86
|
#
|
81
87
|
# @param url [URI::Generic]
|
88
|
+
# @param deadline [Float]
|
82
89
|
# @param blk [Proc]
|
83
90
|
#
|
84
|
-
|
91
|
+
# @raise [Timeout::Error]
|
92
|
+
# @yieldparam [Net::HTTP]
|
93
|
+
private def with_pool(url, deadline:, &blk)
|
85
94
|
origin = FinchAPI::Util.uri_origin(url)
|
86
|
-
|
87
|
-
key = :"#{object_id}-#{self.class.name}-connection_in_use_for_#{origin}"
|
88
|
-
|
89
|
-
if th[key]
|
90
|
-
tap do
|
91
|
-
conn = self.class.connect(url)
|
92
|
-
return blk.call(conn)
|
93
|
-
ensure
|
94
|
-
conn.finish if conn&.started?
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
95
|
+
timeout = deadline - FinchAPI::Util.monotonic_secs
|
98
96
|
pool =
|
99
97
|
@mutex.synchronize do
|
100
|
-
@pools[origin] ||= ConnectionPool.new(size:
|
98
|
+
@pools[origin] ||= ConnectionPool.new(size: @size) do
|
101
99
|
self.class.connect(url)
|
102
100
|
end
|
103
101
|
end
|
104
102
|
|
105
|
-
pool.with
|
106
|
-
th[key] = true
|
107
|
-
blk.call(conn)
|
108
|
-
ensure
|
109
|
-
th[key] = nil
|
110
|
-
end
|
103
|
+
pool.with(timeout: timeout, &blk)
|
111
104
|
end
|
112
105
|
|
113
|
-
# @private
|
106
|
+
# @api private
|
114
107
|
#
|
115
108
|
# @param request [Hash{Symbol=>Object}] .
|
116
109
|
#
|
@@ -124,24 +117,29 @@ module FinchAPI
|
|
124
117
|
#
|
125
118
|
# @option request [Float] :deadline
|
126
119
|
#
|
127
|
-
# @return [Array(Net::HTTPResponse, Enumerable)]
|
128
|
-
#
|
120
|
+
# @return [Array(Integer, Net::HTTPResponse, Enumerable)]
|
129
121
|
def execute(request)
|
130
122
|
url, deadline = request.fetch_values(:url, :deadline)
|
131
|
-
req = self.class.build_request(request)
|
132
123
|
|
133
124
|
eof = false
|
134
125
|
finished = false
|
135
126
|
enum = Enumerator.new do |y|
|
136
|
-
with_pool(url) do |conn|
|
127
|
+
with_pool(url, deadline: deadline) do |conn|
|
137
128
|
next if finished
|
138
129
|
|
130
|
+
req = self.class.build_request(request) do
|
131
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
132
|
+
end
|
133
|
+
|
139
134
|
self.class.calibrate_socket_timeout(conn, deadline)
|
140
|
-
|
135
|
+
unless conn.started?
|
136
|
+
conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
|
137
|
+
conn.start
|
138
|
+
end
|
141
139
|
|
142
140
|
self.class.calibrate_socket_timeout(conn, deadline)
|
143
141
|
conn.request(req) do |rsp|
|
144
|
-
y << [conn, rsp]
|
142
|
+
y << [conn, req, rsp]
|
145
143
|
break if finished
|
146
144
|
|
147
145
|
rsp.read_body do |bytes|
|
@@ -153,22 +151,29 @@ module FinchAPI
|
|
153
151
|
eof = true
|
154
152
|
end
|
155
153
|
end
|
154
|
+
rescue Timeout::Error
|
155
|
+
raise FinchAPI::APITimeoutError
|
156
156
|
end
|
157
157
|
|
158
|
-
conn, response = enum.next
|
159
|
-
body = FinchAPI::Util.fused_enum(enum) do
|
158
|
+
conn, _, response = enum.next
|
159
|
+
body = FinchAPI::Util.fused_enum(enum, external: true) do
|
160
160
|
finished = true
|
161
161
|
tap do
|
162
162
|
enum.next
|
163
163
|
rescue StopIteration
|
164
|
+
nil
|
164
165
|
end
|
165
166
|
conn.finish if !eof && conn&.started?
|
166
167
|
end
|
167
|
-
[response, (response.body = body)]
|
168
|
+
[Integer(response.code), response, (response.body = body)]
|
168
169
|
end
|
169
170
|
|
170
|
-
|
171
|
+
# @api private
|
172
|
+
#
|
173
|
+
# @param size [Integer]
|
174
|
+
def initialize(size: Etc.nprocessors)
|
171
175
|
@mutex = Mutex.new
|
176
|
+
@size = size
|
172
177
|
@pools = {}
|
173
178
|
end
|
174
179
|
end
|
@@ -1,10 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module FinchAPI
|
4
|
-
# @private
|
5
|
-
#
|
6
|
-
# @abstract
|
7
|
-
#
|
4
|
+
# @api private
|
8
5
|
module RequestParameters
|
9
6
|
# @!parse
|
10
7
|
# # Options to specify HTTP behaviour for this request.
|
@@ -12,7 +9,6 @@ module FinchAPI
|
|
12
9
|
# attr_accessor :request_options
|
13
10
|
|
14
11
|
# @param mod [Module]
|
15
|
-
#
|
16
12
|
def self.included(mod)
|
17
13
|
return unless mod <= FinchAPI::BaseModel
|
18
14
|
|
@@ -20,15 +16,13 @@ module FinchAPI
|
|
20
16
|
mod.optional(:request_options, FinchAPI::RequestOptions)
|
21
17
|
end
|
22
18
|
|
23
|
-
# @private
|
24
|
-
#
|
19
|
+
# @api private
|
25
20
|
module Converter
|
26
|
-
# @private
|
21
|
+
# @api private
|
27
22
|
#
|
28
23
|
# @param params [Object]
|
29
24
|
#
|
30
25
|
# @return [Array(Object, Hash{Symbol=>Object})]
|
31
|
-
#
|
32
26
|
def dump_request(params)
|
33
27
|
case (dumped = dump(params))
|
34
28
|
in Hash
|
@@ -46,12 +40,11 @@ module FinchAPI
|
|
46
40
|
# When making a request, you can pass an actual {RequestOptions} instance, or
|
47
41
|
# simply pass a Hash with symbol keys matching the attributes on this class.
|
48
42
|
class RequestOptions < FinchAPI::BaseModel
|
49
|
-
# @private
|
43
|
+
# @api private
|
50
44
|
#
|
51
45
|
# @param opts [FinchAPI::RequestOptions, Hash{Symbol=>Object}]
|
52
46
|
#
|
53
47
|
# @raise [ArgumentError]
|
54
|
-
#
|
55
48
|
def self.validate!(opts)
|
56
49
|
case opts
|
57
50
|
in FinchAPI::RequestOptions | Hash
|
@@ -90,7 +83,7 @@ module FinchAPI
|
|
90
83
|
# Extra data to send with the request. These are deep merged into any data
|
91
84
|
# generated as part of the normal request.
|
92
85
|
#
|
93
|
-
# @return [
|
86
|
+
# @return [Object, nil]
|
94
87
|
optional :extra_body, FinchAPI::HashOf[FinchAPI::Unknown]
|
95
88
|
|
96
89
|
# @!attribute max_retries
|
@@ -18,7 +18,6 @@ module FinchAPI
|
|
18
18
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
19
19
|
#
|
20
20
|
# @return [FinchAPI::Models::CreateAccessTokenResponse]
|
21
|
-
#
|
22
21
|
def create(params)
|
23
22
|
parsed, options = FinchAPI::Models::AccessTokenCreateParams.dump_request(params)
|
24
23
|
@client.request(
|
@@ -31,7 +30,6 @@ module FinchAPI
|
|
31
30
|
end
|
32
31
|
|
33
32
|
# @param client [FinchAPI::Client]
|
34
|
-
#
|
35
33
|
def initialize(client:)
|
36
34
|
@client = client
|
37
35
|
end
|
@@ -10,7 +10,6 @@ module FinchAPI
|
|
10
10
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
11
11
|
#
|
12
12
|
# @return [FinchAPI::Models::DisconnectResponse]
|
13
|
-
#
|
14
13
|
def disconnect(params = {})
|
15
14
|
@client.request(
|
16
15
|
method: :post,
|
@@ -27,7 +26,6 @@ module FinchAPI
|
|
27
26
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
28
27
|
#
|
29
28
|
# @return [FinchAPI::Models::Introspection]
|
30
|
-
#
|
31
29
|
def introspect(params = {})
|
32
30
|
@client.request(
|
33
31
|
method: :get,
|
@@ -38,7 +36,6 @@ module FinchAPI
|
|
38
36
|
end
|
39
37
|
|
40
38
|
# @param client [FinchAPI::Client]
|
41
|
-
#
|
42
39
|
def initialize(client:)
|
43
40
|
@client = client
|
44
41
|
end
|
@@ -30,7 +30,6 @@ module FinchAPI
|
|
30
30
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
31
31
|
#
|
32
32
|
# @return [FinchAPI::Models::Connect::SessionNewResponse]
|
33
|
-
#
|
34
33
|
def new(params)
|
35
34
|
parsed, options = FinchAPI::Models::Connect::SessionNewParams.dump_request(params)
|
36
35
|
@client.request(
|
@@ -58,7 +57,6 @@ module FinchAPI
|
|
58
57
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
59
58
|
#
|
60
59
|
# @return [FinchAPI::Models::Connect::SessionReauthenticateResponse]
|
61
|
-
#
|
62
60
|
def reauthenticate(params)
|
63
61
|
parsed, options = FinchAPI::Models::Connect::SessionReauthenticateParams.dump_request(params)
|
64
62
|
@client.request(
|
@@ -71,7 +69,6 @@ module FinchAPI
|
|
71
69
|
end
|
72
70
|
|
73
71
|
# @param client [FinchAPI::Client]
|
74
|
-
#
|
75
72
|
def initialize(client:)
|
76
73
|
@client = client
|
77
74
|
end
|
@@ -19,7 +19,6 @@ module FinchAPI
|
|
19
19
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
20
20
|
#
|
21
21
|
# @return [FinchAPI::SinglePage<FinchAPI::Models::HRIS::Benefits::EnrolledIndividual>]
|
22
|
-
#
|
23
22
|
def enroll_many(benefit_id, params = {})
|
24
23
|
parsed, options = FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyParams.dump_request(params)
|
25
24
|
@client.request(
|
@@ -41,7 +40,6 @@ module FinchAPI
|
|
41
40
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
42
41
|
#
|
43
42
|
# @return [FinchAPI::Models::HRIS::Benefits::IndividualEnrolledIDsResponse]
|
44
|
-
#
|
45
43
|
def enrolled_ids(benefit_id, params = {})
|
46
44
|
@client.request(
|
47
45
|
method: :get,
|
@@ -63,9 +61,9 @@ module FinchAPI
|
|
63
61
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
64
62
|
#
|
65
63
|
# @return [FinchAPI::SinglePage<FinchAPI::Models::HRIS::Benefits::IndividualBenefit>]
|
66
|
-
#
|
67
64
|
def retrieve_many_benefits(benefit_id, params = {})
|
68
|
-
parsed, options =
|
65
|
+
parsed, options =
|
66
|
+
FinchAPI::Models::HRIS::Benefits::IndividualRetrieveManyBenefitsParams.dump_request(params)
|
69
67
|
@client.request(
|
70
68
|
method: :get,
|
71
69
|
path: ["employer/benefits/%0s/individuals", benefit_id],
|
@@ -87,7 +85,6 @@ module FinchAPI
|
|
87
85
|
# @option params [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
|
88
86
|
#
|
89
87
|
# @return [FinchAPI::SinglePage<FinchAPI::Models::HRIS::Benefits::UnenrolledIndividual>]
|
90
|
-
#
|
91
88
|
def unenroll_many(benefit_id, params = {})
|
92
89
|
parsed, options = FinchAPI::Models::HRIS::Benefits::IndividualUnenrollManyParams.dump_request(params)
|
93
90
|
@client.request(
|
@@ -101,7 +98,6 @@ module FinchAPI
|
|
101
98
|
end
|
102
99
|
|
103
100
|
# @param client [FinchAPI::Client]
|
104
|
-
#
|
105
101
|
def initialize(client:)
|
106
102
|
@client = client
|
107
103
|
end
|