fern_gusto 0.0.6.pre.alpha6
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 +7 -0
- data/lib/base_gusto.rb +175 -0
- data/lib/core/file_utilities.rb +27 -0
- data/lib/environment.rb +9 -0
- data/lib/fern_gusto/ach_transactions/client.rb +119 -0
- data/lib/fern_gusto/admins/types/admin.rb +82 -0
- data/lib/fern_gusto/companies/attachments/client.rb +335 -0
- data/lib/fern_gusto/companies/attachments/types/attachments_create_request_category.rb +15 -0
- data/lib/fern_gusto/companies/attachments/types/attachments_get_download_url_response.rb +56 -0
- data/lib/fern_gusto/companies/bank_accounts/client.rb +435 -0
- data/lib/fern_gusto/companies/bank_accounts/types/bank_accounts_create_request_account_type.rb +15 -0
- data/lib/fern_gusto/companies/benefits/client.rb +862 -0
- data/lib/fern_gusto/companies/client.rb +1104 -0
- data/lib/fern_gusto/companies/departments/client.rb +587 -0
- data/lib/fern_gusto/companies/departments/types/departments_add_people_request_contractors_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_add_people_request_employees_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_contractors_item.rb +59 -0
- data/lib/fern_gusto/companies/departments/types/departments_remove_people_request_employees_item.rb +59 -0
- data/lib/fern_gusto/companies/employees/client.rb +376 -0
- data/lib/fern_gusto/companies/external_payrolls/client.rb +605 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item.rb +98 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_benefits_item.rb +79 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item.rb +87 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_earnings_item_earning_type.rb +15 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_request_external_payroll_items_item_taxes_item.rb +69 -0
- data/lib/fern_gusto/companies/external_payrolls/types/external_payrolls_update_tax_liabilities_request_liability_selections_item.rb +80 -0
- data/lib/fern_gusto/companies/federal_tax_details/client.rb +212 -0
- data/lib/fern_gusto/companies/federal_tax_details/types/federal_tax_details_update_request_tax_payer_type.rb +25 -0
- data/lib/fern_gusto/companies/forms/client.rb +345 -0
- data/lib/fern_gusto/companies/industry_selection/client.rb +207 -0
- data/lib/fern_gusto/companies/locations/client.rb +417 -0
- data/lib/fern_gusto/companies/pay_schedules/client.rb +377 -0
- data/lib/fern_gusto/companies/payment_configs/client.rb +198 -0
- data/lib/fern_gusto/companies/payment_configs/types/payment_configs_update_request_payment_speed.rb +19 -0
- data/lib/fern_gusto/companies/signatories/client.rb +513 -0
- data/lib/fern_gusto/companies/signatories/types/signatories_create_request_home_address.rb +89 -0
- data/lib/fern_gusto/companies/signatories/types/signatories_update_request_home_address.rb +88 -0
- data/lib/fern_gusto/companies/tax_requirements/client.rb +367 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_list_response_item.rb +75 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item.rb +88 -0
- data/lib/fern_gusto/companies/tax_requirements/types/tax_requirements_update_state_request_requirement_sets_item_requirements_item.rb +70 -0
- data/lib/fern_gusto/companies/types/companies_accept_terms_response.rb +56 -0
- data/lib/fern_gusto/companies/types/companies_create_request_company.rb +83 -0
- data/lib/fern_gusto/companies/types/companies_create_request_user.rb +81 -0
- data/lib/fern_gusto/companies/types/companies_create_response.rb +82 -0
- data/lib/fern_gusto/companies/types/companies_get_custom_fields_response.rb +59 -0
- data/lib/fern_gusto/companies/types/companies_migrate_to_embedded_payroll_response.rb +68 -0
- data/lib/fern_gusto/companies/types/companies_retrieve_terms_response.rb +56 -0
- data/lib/fern_gusto/companies/types/company.rb +223 -0
- data/lib/fern_gusto/companies/types/company_company_status.rb +21 -0
- data/lib/fern_gusto/companies/types/company_compensations.rb +85 -0
- data/lib/fern_gusto/companies/types/company_compensations_fixed_item.rb +55 -0
- data/lib/fern_gusto/companies/types/company_compensations_hourly_item.rb +65 -0
- data/lib/fern_gusto/companies/types/company_compensations_paid_time_off_item.rb +55 -0
- data/lib/fern_gusto/companies/types/company_entity_type.rb +23 -0
- data/lib/fern_gusto/companies/types/company_funding_type.rb +15 -0
- data/lib/fern_gusto/companies/types/company_onboarding_status.rb +77 -0
- data/lib/fern_gusto/companies/types/company_onboarding_status_onboarding_steps_item.rb +97 -0
- data/lib/fern_gusto/companies/types/company_pay_schedule_type.rb +15 -0
- data/lib/fern_gusto/companies/types/company_primary_payroll_admin.rb +80 -0
- data/lib/fern_gusto/companies/types/company_primary_signatory.rb +100 -0
- data/lib/fern_gusto/companies/types/company_primary_signatory_home_address.rb +93 -0
- data/lib/fern_gusto/companies/types/company_tier.rb +20 -0
- data/lib/fern_gusto/company_attachment/types/company_attachment.rb +81 -0
- data/lib/fern_gusto/company_attachment/types/company_attachment_category.rb +13 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account.rb +157 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_plaid_status.rb +14 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_status.rb +19 -0
- data/lib/fern_gusto/company_bank_accounts/types/company_bank_account_verification_type.rb +17 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary.rb +104 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees.rb +113 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits.rb +107 -0
- data/lib/fern_gusto/company_benefits/types/benefit_summary_employees_payroll_benefits_pay_period.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements.rb +156 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_catch_up_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_company_contribution_annual_maximum_default_value.rb +68 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_contribution_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount.rb +87 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_amount_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_coverage_salary_multiplier_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_deduct_as_percentage_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction.rb +88 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_employee_deduction_default_value.rb +67 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option.rb +86 -0
- data/lib/fern_gusto/company_benefits/types/benefit_type_requirements_limit_option_default_value.rb +67 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_info.rb +78 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_status.rb +14 -0
- data/lib/fern_gusto/contractor/types/contractor_onboarding_status_onboarding_steps_item.rb +88 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group.rb +145 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_payment_method.rb +15 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_for_group_wage_type.rb +13 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group.rb +127 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal.rb +116 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_minimal_totals.rb +74 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_status.rb +16 -0
- data/lib/fern_gusto/contractor_payment_groups/types/contractor_payment_group_totals.rb +74 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account.rb +94 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method.rb +96 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_split_by.rb +15 -0
- data/lib/fern_gusto/contractor_payment_method/types/contractor_payment_method_type.rb +14 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment.rb +146 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_payment_method.rb +15 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_status.rb +13 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary.rb +81 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates.rb +81 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_contractor_payments_item.rb +93 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_by_dates_total.rb +67 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_contractor_payments_item.rb +86 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_summary_total.rb +67 -0
- data/lib/fern_gusto/contractor_payments/types/contractor_payment_wage_type.rb +13 -0
- data/lib/fern_gusto/contractors/client.rb +1025 -0
- data/lib/fern_gusto/contractors/documents/client.rb +269 -0
- data/lib/fern_gusto/contractors/documents/types/documents_sign_request_fields_item.rb +67 -0
- data/lib/fern_gusto/contractors/forms/client.rb +343 -0
- data/lib/fern_gusto/contractors/payment_groups/client.rb +569 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item.rb +102 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_create_request_contractor_payments_item_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item.rb +102 -0
- data/lib/fern_gusto/contractors/payment_groups/types/payment_groups_preview_request_contractor_payments_item_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payment_method/client.rb +369 -0
- data/lib/fern_gusto/contractors/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/contractors/payment_method/types/payment_method_update_request_type.rb +17 -0
- data/lib/fern_gusto/contractors/payments/client.rb +558 -0
- data/lib/fern_gusto/contractors/payments/types/payments_create_request_payment_method.rb +15 -0
- data/lib/fern_gusto/contractors/payments/types/payments_list_response.rb +62 -0
- data/lib/fern_gusto/contractors/types/contractor.rb +227 -0
- data/lib/fern_gusto/contractors/types/contractor_address.rb +94 -0
- data/lib/fern_gusto/contractors/types/contractor_onboarding_status.rb +18 -0
- data/lib/fern_gusto/contractors/types/contractor_type.rb +13 -0
- data/lib/fern_gusto/contractors/types/contractor_wage_type.rb +13 -0
- data/lib/fern_gusto/custom_fields/types/company_custom_field.rb +88 -0
- data/lib/fern_gusto/custom_fields/types/custom_field_type.rb +16 -0
- data/lib/fern_gusto/custom_fields/types/employee_custom_field.rb +104 -0
- data/lib/fern_gusto/documents/types/document.rb +167 -0
- data/lib/fern_gusto/documents/types/document_fields_item.rb +114 -0
- data/lib/fern_gusto/documents/types/document_pages_item.rb +65 -0
- data/lib/fern_gusto/documents/types/document_recipient_type.rb +15 -0
- data/lib/fern_gusto/documents/types/document_signed.rb +137 -0
- data/lib/fern_gusto/documents/types/document_signed_recipient_type.rb +15 -0
- data/lib/fern_gusto/earning_types/types/earning_type.rb +66 -0
- data/lib/fern_gusto/employee_employments/types/unprocessed_termination_pay_period.rb +101 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_bank_account.rb +94 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_bank_account_account_type.rb +13 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_info.rb +96 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_split_by.rb +15 -0
- data/lib/fern_gusto/employee_payment_method/types/employee_payment_method_type.rb +14 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax.rb +144 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_federal_tax_w4data_type.rb +13 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax.rb +90 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_answer.rb +74 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format.rb +69 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_input_question_format_options_item.rb +67 -0
- data/lib/fern_gusto/employee_tax_setup/types/employee_state_tax_question.rb +96 -0
- data/lib/fern_gusto/employees/adresses/client.rb +885 -0
- data/lib/fern_gusto/employees/benefits/client.rb +656 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution.rb +93 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_type.rb +23 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value.rb +67 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_contribution_value_item.rb +80 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_create_request_deduction_reduces_taxable_income.rb +18 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution.rb +93 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_type.rb +23 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value.rb +67 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_contribution_value_item.rb +80 -0
- data/lib/fern_gusto/employees/benefits/types/benefits_update_request_deduction_reduces_taxable_income.rb +18 -0
- data/lib/fern_gusto/employees/client.rb +822 -0
- data/lib/fern_gusto/employees/employments/client.rb +799 -0
- data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item.rb +95 -0
- data/lib/fern_gusto/employees/employments/types/employments_get_history_response_item_employment_status.rb +20 -0
- data/lib/fern_gusto/employees/forms/client.rb +433 -0
- data/lib/fern_gusto/employees/forms/types/forms_generate_w2response.rb +132 -0
- data/lib/fern_gusto/employees/garnishments/client.rb +558 -0
- data/lib/fern_gusto/employees/garnishments/types/garnishments_create_request_garnishment_type.rb +20 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/client.rb +938 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_minimum_wages_item.rb +62 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_create_compensation_request_payment_unit.rb +19 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_minimum_wages_item.rb +62 -0
- data/lib/fern_gusto/employees/jobs_and_compensations/types/jobs_and_compensations_update_compensation_request_payment_unit.rb +19 -0
- data/lib/fern_gusto/employees/payment_method/client.rb +484 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_create_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_bank_account_request_account_type.rb +14 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_split_by.rb +17 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_splits_item.rb +83 -0
- data/lib/fern_gusto/employees/payment_method/types/payment_method_update_request_type.rb +16 -0
- data/lib/fern_gusto/employees/tax_setup/client.rb +422 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item.rb +73 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item.rb +73 -0
- data/lib/fern_gusto/employees/tax_setup/types/tax_setup_update_state_taxes_request_states_item_questions_item_answers_item.rb +77 -0
- data/lib/fern_gusto/employees/types/employee.rb +281 -0
- data/lib/fern_gusto/employees/types/employee_current_employment_status.rb +20 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_info.rb +77 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_status.rb +19 -0
- data/lib/fern_gusto/employees/types/employee_onboarding_status_onboarding_steps_item.rb +88 -0
- data/lib/fern_gusto/employees/types/employee_payment_method.rb +13 -0
- data/lib/fern_gusto/employees/types/employees_get_custom_fields_response.rb +59 -0
- data/lib/fern_gusto/employees/types/employees_get_request_include.rb +12 -0
- data/lib/fern_gusto/events/client.rb +144 -0
- data/lib/fern_gusto/events/types/events_list_request_sort_order.rb +12 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll.rb +158 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_benefits_item.rb +73 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_earnings_item.rb +87 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_applicable_taxes_item.rb +85 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_basic.rb +101 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_basic_status.rb +16 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item.rb +93 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_benefits_item.rb +74 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_earnings_item.rb +81 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_external_payroll_items_item_taxes_item.rb +67 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_metadata.rb +56 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_status.rb +16 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions.rb +72 -0
- data/lib/fern_gusto/external_payrolls/types/external_payroll_tax_suggestions_tax_suggestions.rb +68 -0
- data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections.rb +86 -0
- data/lib/fern_gusto/external_payrolls/types/tax_liabilities_selections_possible_liabilities.rb +75 -0
- data/lib/fern_gusto/federal_tax_details/types/federal_tax_details.rb +140 -0
- data/lib/fern_gusto/flows/client.rb +113 -0
- data/lib/fern_gusto/flows/types/flow.rb +66 -0
- data/lib/fern_gusto/flows/types/flows_create_request_entity_type.rb +14 -0
- data/lib/fern_gusto/forms/types/form.rb +123 -0
- data/lib/fern_gusto/forms/types/form1099.rb +126 -0
- data/lib/fern_gusto/generated_documents/client.rb +106 -0
- data/lib/fern_gusto/holiday_pay_policies/client.rb +599 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_add_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays.rb +198 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_christmas_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_columbus_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_independence_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_juneteenth.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_labor_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_memorial_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_mlk_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_new_years_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_presidents_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_thanksgiving.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_create_request_federal_holidays_veterans_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_remove_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays.rb +198 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_christmas_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_columbus_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_independence_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_juneteenth.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_labor_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_memorial_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_mlk_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_new_years_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_presidents_day.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_thanksgiving.rb +57 -0
- data/lib/fern_gusto/holiday_pay_policies/types/holiday_pay_policies_update_request_federal_holidays_veterans_day.rb +57 -0
- data/lib/fern_gusto/industry/types/industry.rb +87 -0
- data/lib/fern_gusto/invoices/client.rb +132 -0
- data/lib/fern_gusto/jobs_and_compensations/types/compensation.rb +120 -0
- data/lib/fern_gusto/jobs_and_compensations/types/compensation_payment_unit.rb +17 -0
- data/lib/fern_gusto/jobs_and_compensations/types/job.rb +161 -0
- data/lib/fern_gusto/locations/types/company_address.rb +103 -0
- data/lib/fern_gusto/locations/types/location.rb +171 -0
- data/lib/fern_gusto/notifications/client.rb +120 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule.rb +151 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment.rb +103 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_department.rb +65 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee.rb +65 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_employee_change.rb +105 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_pay_period.rb +80 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview.rb +71 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_preview_type.rb +15 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_transition_pay_period.rb +68 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_assignment_type.rb +15 -0
- data/lib/fern_gusto/pay_schedules/types/pay_schedule_frequency.rb +17 -0
- data/lib/fern_gusto/payment_configs/types/payment_configs.rb +79 -0
- data/lib/fern_gusto/payroll/client.rb +1644 -0
- data/lib/fern_gusto/payroll/earning_types/client.rb +350 -0
- data/lib/fern_gusto/payroll/earning_types/types/earning_types_get_response.rb +74 -0
- data/lib/fern_gusto/payroll/external_payrolls/client.rb +199 -0
- data/lib/fern_gusto/payroll/pay_schedules/client.rb +584 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_create_request_frequency.rb +17 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_request_frequency.rb +16 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response.rb +72 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_preview_response_pay_periods_item.rb +83 -0
- data/lib/fern_gusto/payroll/pay_schedules/types/pay_schedules_update_request_frequency.rb +17 -0
- data/lib/fern_gusto/payroll/types/payroll_create_request_off_cycle_reason.rb +15 -0
- data/lib/fern_gusto/payroll/types/payroll_create_request_withholding_pay_period.rb +18 -0
- data/lib/fern_gusto/payroll/types/payroll_get_request_include_item.rb +14 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_include_item.rb +13 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_payroll_types_item.rb +13 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_processing_statuses_item.rb +12 -0
- data/lib/fern_gusto/payroll/types/payroll_list_request_sort_order.rb +12 -0
- data/lib/fern_gusto/payroll/types/payroll_skip_payroll_request_payroll_type.rb +15 -0
- data/lib/fern_gusto/payroll/types/payroll_submit_request_submission_blockers_item.rb +67 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item.rb +133 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_fixed_compensations_item.rb +79 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_hourly_compensations_item.rb +79 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_paid_time_off_item.rb +85 -0
- data/lib/fern_gusto/payroll/types/payroll_update_request_employee_compensations_item_payment_method.rb +13 -0
- data/lib/fern_gusto/payrolls/types/employee_pay_stub.rb +94 -0
- data/lib/fern_gusto/payrolls/types/paid_time_off.rb +123 -0
- data/lib/fern_gusto/payrolls/types/paid_time_off_name.rb +14 -0
- data/lib/fern_gusto/payrolls/types/pay_period.rb +86 -0
- data/lib/fern_gusto/payrolls/types/pay_period_payroll.rb +107 -0
- data/lib/fern_gusto/payrolls/types/pay_period_payroll_payroll_type.rb +13 -0
- data/lib/fern_gusto/payrolls/types/payroll.rb +285 -0
- data/lib/fern_gusto/payrolls/types/payroll_minimal.rb +250 -0
- data/lib/fern_gusto/payrolls/types/payroll_prepared.rb +250 -0
- data/lib/fern_gusto/recovery_cases/client.rb +198 -0
- data/lib/fern_gusto/reports/client.rb +306 -0
- data/lib/fern_gusto/reports/types/reports_create_request_columns_item.rb +91 -0
- data/lib/fern_gusto/reports/types/reports_create_request_employment_status.rb +18 -0
- data/lib/fern_gusto/reports/types/reports_create_request_employment_type.rb +16 -0
- data/lib/fern_gusto/reports/types/reports_create_request_file_type.rb +13 -0
- data/lib/fern_gusto/reports/types/reports_create_request_groupings_item.rb +14 -0
- data/lib/fern_gusto/reports/types/reports_create_request_payment_method.rb +13 -0
- data/lib/fern_gusto/signatories/types/signatory.rb +175 -0
- data/lib/fern_gusto/signatories/types/signatory_home_address.rb +93 -0
- data/lib/fern_gusto/signatories/types/signatory_identity_verification_status.rb +28 -0
- data/lib/fern_gusto/terminations/types/termination.rb +109 -0
- data/lib/fern_gusto/time_off_policies/client.rb +863 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_add_employees_request_employees_item.rb +67 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_create_request_accrual_method.rb +19 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_remove_employees_request_employees_item.rb +57 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_balance_request_employees_item.rb +67 -0
- data/lib/fern_gusto/time_off_policies/types/time_off_policies_update_request_accrual_method.rb +19 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request.rb +141 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_approver.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_employee.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_initiator.rb +66 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_request_type.rb +13 -0
- data/lib/fern_gusto/time_off_requests/types/time_off_request_status.rb +14 -0
- data/lib/fern_gusto/token/client.rb +270 -0
- data/lib/fern_gusto/token/types/token_get_info_response.rb +85 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource.rb +64 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource_owner.rb +65 -0
- data/lib/fern_gusto/token/types/token_get_info_response_resource_owner_type.rb +13 -0
- data/lib/fern_gusto/token/types/token_get_system_access_token_response.rb +77 -0
- data/lib/fern_gusto/types/accruing_time_off_hour.rb +64 -0
- data/lib/fern_gusto/types/ach_transaction.rb +162 -0
- data/lib/fern_gusto/types/ach_transaction_payment_direction.rb +11 -0
- data/lib/fern_gusto/types/ach_transaction_payment_event_type.rb +11 -0
- data/lib/fern_gusto/types/ach_transaction_payment_status.rb +13 -0
- data/lib/fern_gusto/types/ach_transaction_recipient_type.rb +11 -0
- data/lib/fern_gusto/types/address.rb +111 -0
- data/lib/fern_gusto/types/authentication.rb +96 -0
- data/lib/fern_gusto/types/child_support_data.rb +58 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item.rb +104 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_fips_codes_item.rb +67 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item.rb +70 -0
- data/lib/fern_gusto/types/child_support_data_agencies_item_required_attributes_item_key.rb +14 -0
- data/lib/fern_gusto/types/company_benefit.rb +135 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits.rb +148 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item.rb +115 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution.rb +91 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value.rb +61 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers.rb +60 -0
- data/lib/fern_gusto/types/company_benefit_with_employee_benefits_employee_benefits_item_contribution_value_tiers_tiers_item.rb +86 -0
- data/lib/fern_gusto/types/contractor_address_info.rb +118 -0
- data/lib/fern_gusto/types/contractor_body.rb +200 -0
- data/lib/fern_gusto/types/contractor_body_type.rb +11 -0
- data/lib/fern_gusto/types/contractor_body_wage_type.rb +11 -0
- data/lib/fern_gusto/types/contractor_payment_receipt.rb +161 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_contractor_payments_item.rb +120 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_licensee.rb +92 -0
- data/lib/fern_gusto/types/contractor_payment_receipt_totals.rb +54 -0
- data/lib/fern_gusto/types/create_report.rb +77 -0
- data/lib/fern_gusto/types/department.rb +103 -0
- data/lib/fern_gusto/types/department_contractors_item.rb +53 -0
- data/lib/fern_gusto/types/department_employees_item.rb +53 -0
- data/lib/fern_gusto/types/document_pdf.rb +63 -0
- data/lib/fern_gusto/types/employee_address.rb +139 -0
- data/lib/fern_gusto/types/employee_benefit.rb +220 -0
- data/lib/fern_gusto/types/employee_benefit_base_object.rb +199 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution.rb +89 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value.rb +61 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers.rb +59 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_contribution_value_tiers_tiers_item.rb +85 -0
- data/lib/fern_gusto/types/employee_benefit_base_object_deduction_reduces_taxable_income.rb +14 -0
- data/lib/fern_gusto/types/employee_benefit_for_company_benefit.rb +220 -0
- data/lib/fern_gusto/types/employee_work_address.rb +137 -0
- data/lib/fern_gusto/types/entity_error_object.rb +102 -0
- data/lib/fern_gusto/types/entity_error_object_errors_item.rb +89 -0
- data/lib/fern_gusto/types/event.rb +99 -0
- data/lib/fern_gusto/types/flsa_status_type.rb +23 -0
- data/lib/fern_gusto/types/form_pdf.rb +63 -0
- data/lib/fern_gusto/types/garnishment.rb +172 -0
- data/lib/fern_gusto/types/garnishment_child_support.rb +113 -0
- data/lib/fern_gusto/types/garnishment_child_support_payment_period.rb +14 -0
- data/lib/fern_gusto/types/garnishment_garnishment_type.rb +16 -0
- data/lib/fern_gusto/types/generated_document.rb +70 -0
- data/lib/fern_gusto/types/gross_up_pay.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body.rb +156 -0
- data/lib/fern_gusto/types/historical_employee_body_employee_state_taxes.rb +80 -0
- data/lib/fern_gusto/types/historical_employee_body_home_address.rb +84 -0
- data/lib/fern_gusto/types/historical_employee_body_job.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body_termination.rb +53 -0
- data/lib/fern_gusto/types/historical_employee_body_work_address.rb +53 -0
- data/lib/fern_gusto/types/holiday_pay_policy.rb +88 -0
- data/lib/fern_gusto/types/holiday_pay_policy_employees_item.rb +53 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item.rb +179 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_columbus_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_independence_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_juneteenth.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_labor_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_memorial_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_mlk_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_new_years_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_presidents_day.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_thanksgiving.rb +72 -0
- data/lib/fern_gusto/types/holiday_pay_policy_federal_holidays_item_veterans_day.rb +72 -0
- data/lib/fern_gusto/types/invoice_data.rb +58 -0
- data/lib/fern_gusto/types/invoice_data_active_companies_item.rb +91 -0
- data/lib/fern_gusto/types/minimum_wage.rb +96 -0
- data/lib/fern_gusto/types/notification.rb +125 -0
- data/lib/fern_gusto/types/notification_resources_item.rb +85 -0
- data/lib/fern_gusto/types/off_cycle_reason_type.rb +19 -0
- data/lib/fern_gusto/types/paid_holidays.rb +61 -0
- data/lib/fern_gusto/types/paid_holidays_schema.rb +77 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body.rb +111 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_departments_item.rb +65 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_employees_item.rb +64 -0
- data/lib/fern_gusto/types/pay_schedule_assignment_body_type.rb +13 -0
- data/lib/fern_gusto/types/payment_method_bank_account.rb +87 -0
- data/lib/fern_gusto/types/payroll_blocker.rb +63 -0
- data/lib/fern_gusto/types/payroll_blockers_error.rb +60 -0
- data/lib/fern_gusto/types/payroll_blockers_error_errors_item.rb +83 -0
- data/lib/fern_gusto/types/payroll_blockers_error_errors_item_metadata.rb +54 -0
- data/lib/fern_gusto/types/payroll_check.rb +84 -0
- data/lib/fern_gusto/types/payroll_company_taxes_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_company_taxes_type_item.rb +70 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item.rb +89 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item_status.rb +13 -0
- data/lib/fern_gusto/types/payroll_credit_blockers_type_item_unblock_options_item.rb +72 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item.rb +216 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_benefits_item.rb +79 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_deductions_item.rb +65 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_fixed_compensations_item.rb +74 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_hourly_compensations_item.rb +92 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_paid_time_off_item.rb +76 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_payment_method.rb +11 -0
- data/lib/fern_gusto/types/payroll_employee_compensations_type_item_taxes_item.rb +70 -0
- data/lib/fern_gusto/types/payroll_fixed_compensation_types_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_fixed_compensation_types_type_item.rb +54 -0
- data/lib/fern_gusto/types/payroll_pay_period_type.rb +70 -0
- data/lib/fern_gusto/types/payroll_payment_speed_changed_type.rb +86 -0
- data/lib/fern_gusto/types/payroll_payroll_status_meta_type.rb +92 -0
- data/lib/fern_gusto/types/payroll_processing_request.rb +68 -0
- data/lib/fern_gusto/types/payroll_processing_request_status.rb +14 -0
- data/lib/fern_gusto/types/payroll_receipt.rb +177 -0
- data/lib/fern_gusto/types/payroll_receipt_employee_compensations_item.rb +116 -0
- data/lib/fern_gusto/types/payroll_receipt_licensee.rb +92 -0
- data/lib/fern_gusto/types/payroll_receipt_taxes_item.rb +63 -0
- data/lib/fern_gusto/types/payroll_receipt_totals.rb +85 -0
- data/lib/fern_gusto/types/payroll_reversal.rb +91 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type.rb +6 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item.rb +89 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item_status.rb +11 -0
- data/lib/fern_gusto/types/payroll_submission_blockers_type_item_unblock_options_item.rb +72 -0
- data/lib/fern_gusto/types/payroll_totals_type.rb +199 -0
- data/lib/fern_gusto/types/payroll_withholding_pay_period_type.rb +17 -0
- data/lib/fern_gusto/types/recovery_case.rb +131 -0
- data/lib/fern_gusto/types/recovery_case_status.rb +14 -0
- data/lib/fern_gusto/types/rehire.rb +116 -0
- data/lib/fern_gusto/types/rehire_body.rb +91 -0
- data/lib/fern_gusto/types/rehire_body_employment_status.rb +16 -0
- data/lib/fern_gusto/types/rehire_employment_status.rb +16 -0
- data/lib/fern_gusto/types/report.rb +72 -0
- data/lib/fern_gusto/types/report_template.rb +77 -0
- data/lib/fern_gusto/types/supported_benefit.rb +122 -0
- data/lib/fern_gusto/types/tax_requirement.rb +111 -0
- data/lib/fern_gusto/types/tax_requirement_applicable_if_item.rb +69 -0
- data/lib/fern_gusto/types/tax_requirement_applicable_if_item_value.rb +72 -0
- data/lib/fern_gusto/types/tax_requirement_effective_from.rb +5 -0
- data/lib/fern_gusto/types/tax_requirement_metadata.rb +182 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_options_item.rb +70 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_rate_type.rb +13 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_type.rb +31 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_validation.rb +81 -0
- data/lib/fern_gusto/types/tax_requirement_metadata_validation_type.rb +11 -0
- data/lib/fern_gusto/types/tax_requirement_set.rb +90 -0
- data/lib/fern_gusto/types/tax_requirements_state.rb +75 -0
- data/lib/fern_gusto/types/time_off_activity.rb +107 -0
- data/lib/fern_gusto/types/time_off_activity_time_off_type.rb +11 -0
- data/lib/fern_gusto/types/time_off_policy.rb +183 -0
- data/lib/fern_gusto/types/time_off_policy_employees_item.rb +53 -0
- data/lib/fern_gusto/types/time_off_policy_policy_type.rb +11 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body.rb +59 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_errors.rb +57 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_errors_base_item.rb +72 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item.rb +65 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item.rb +69 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_body_item_questions_item_answers_item.rb +72 -0
- data/lib/fern_gusto/types/unprocessable_entity_error_object.rb +63 -0
- data/lib/fern_gusto/types/versionable.rb +57 -0
- data/lib/fern_gusto/types/versionable_required.rb +55 -0
- data/lib/fern_gusto/types/wire_in_request.rb +170 -0
- data/lib/fern_gusto/types/wire_in_request_status.rb +14 -0
- data/lib/fern_gusto/webhooks/client.rb +627 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription.rb +82 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription_status.rb +14 -0
- data/lib/fern_gusto/webhooks/types/webhook_subscription_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/webhooks/types/webhooks_create_request_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/webhooks/types/webhooks_update_request_subscription_types_item.rb +25 -0
- data/lib/fern_gusto/wire_in_requests/client.rb +273 -0
- data/lib/fern_gusto.rb +310 -0
- data/lib/gemconfig.rb +13 -0
- data/lib/gusto_legacy.rb +19 -0
- data/lib/requests.rb +206 -0
- data/lib/types_export.rb +461 -0
- metadata +671 -0
@@ -0,0 +1,102 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "entity_error_object_errors_item"
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Gusto
|
7
|
+
class EntityErrorObject
|
8
|
+
# @return [String] Specifies where the error occurs. Typically this key identifies the
|
9
|
+
# attribute/parameter related to the error.
|
10
|
+
attr_reader :error_key
|
11
|
+
# @return [String] Specifies the type of error. The category provides error groupings and can be
|
12
|
+
# used to build custom error handling in your integration. If category is
|
13
|
+
# `nested_errors`, the object will contain a nested `errors` property with entity
|
14
|
+
# errors.
|
15
|
+
attr_reader :category
|
16
|
+
# @return [String] Provides details about the error - generally this message can be surfaced to an
|
17
|
+
# end user.
|
18
|
+
attr_reader :message
|
19
|
+
# @return [Hash{String => Object}] Contains relevant data to identify the resource in question when applicable. For
|
20
|
+
# example, to identify an entity `entity_type` and `entity_uuid` will be provided.
|
21
|
+
attr_reader :metadata
|
22
|
+
# @return [Array<Gusto::EntityErrorObjectErrorsItem>] Will only exist if category is `nested_errors`. It is possible to have multiple
|
23
|
+
# levels of nested errors.
|
24
|
+
attr_reader :errors
|
25
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
26
|
+
attr_reader :additional_properties
|
27
|
+
# @return [Object]
|
28
|
+
attr_reader :_field_set
|
29
|
+
protected :_field_set
|
30
|
+
|
31
|
+
OMIT = Object.new
|
32
|
+
|
33
|
+
# @param error_key [String] Specifies where the error occurs. Typically this key identifies the
|
34
|
+
# attribute/parameter related to the error.
|
35
|
+
# @param category [String] Specifies the type of error. The category provides error groupings and can be
|
36
|
+
# used to build custom error handling in your integration. If category is
|
37
|
+
# `nested_errors`, the object will contain a nested `errors` property with entity
|
38
|
+
# errors.
|
39
|
+
# @param message [String] Provides details about the error - generally this message can be surfaced to an
|
40
|
+
# end user.
|
41
|
+
# @param metadata [Hash{String => Object}] Contains relevant data to identify the resource in question when applicable. For
|
42
|
+
# example, to identify an entity `entity_type` and `entity_uuid` will be provided.
|
43
|
+
# @param errors [Array<Gusto::EntityErrorObjectErrorsItem>] Will only exist if category is `nested_errors`. It is possible to have multiple
|
44
|
+
# levels of nested errors.
|
45
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
46
|
+
# @return [Gusto::EntityErrorObject]
|
47
|
+
def initialize(error_key: OMIT, category: OMIT, message: OMIT, metadata: OMIT, errors: OMIT, additional_properties: nil)
|
48
|
+
@error_key = error_key if error_key != OMIT
|
49
|
+
@category = category if category != OMIT
|
50
|
+
@message = message if message != OMIT
|
51
|
+
@metadata = metadata if metadata != OMIT
|
52
|
+
@errors = errors if errors != OMIT
|
53
|
+
@additional_properties = additional_properties
|
54
|
+
@_field_set = { "error_key": error_key, "category": category, "message": message, "metadata": metadata, "errors": errors }.reject do | _k, v |
|
55
|
+
v == OMIT
|
56
|
+
end
|
57
|
+
end
|
58
|
+
# Deserialize a JSON object to an instance of EntityErrorObject
|
59
|
+
#
|
60
|
+
# @param json_object [String]
|
61
|
+
# @return [Gusto::EntityErrorObject]
|
62
|
+
def self.from_json(json_object:)
|
63
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
64
|
+
parsed_json = JSON.parse(json_object)
|
65
|
+
error_key = parsed_json["error_key"]
|
66
|
+
category = parsed_json["category"]
|
67
|
+
message = parsed_json["message"]
|
68
|
+
metadata = parsed_json["metadata"]
|
69
|
+
errors = parsed_json["errors"]&.map do | item |
|
70
|
+
item = item.to_json
|
71
|
+
Gusto::EntityErrorObjectErrorsItem.from_json(json_object: item)
|
72
|
+
end
|
73
|
+
new(
|
74
|
+
error_key: error_key,
|
75
|
+
category: category,
|
76
|
+
message: message,
|
77
|
+
metadata: metadata,
|
78
|
+
errors: errors,
|
79
|
+
additional_properties: struct
|
80
|
+
)
|
81
|
+
end
|
82
|
+
# Serialize an instance of EntityErrorObject to a JSON object
|
83
|
+
#
|
84
|
+
# @return [String]
|
85
|
+
def to_json
|
86
|
+
@_field_set&.to_json
|
87
|
+
end
|
88
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
89
|
+
# hash and check each fields type against the current object's property
|
90
|
+
# definitions.
|
91
|
+
#
|
92
|
+
# @param obj [Object]
|
93
|
+
# @return [Void]
|
94
|
+
def self.validate_raw(obj:)
|
95
|
+
obj.error_key&.is_a?(String) != false || raise("Passed value for field obj.error_key is not the expected type, validation failed.")
|
96
|
+
obj.category&.is_a?(String) != false || raise("Passed value for field obj.category is not the expected type, validation failed.")
|
97
|
+
obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
|
98
|
+
obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
|
99
|
+
obj.errors&.is_a?(Array) != false || raise("Passed value for field obj.errors is not the expected type, validation failed.")
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
class EntityErrorObjectErrorsItem
|
7
|
+
# @return [String] Specifies where the error occurs. Typically this key identifies the
|
8
|
+
# attribute/parameter related to the error.
|
9
|
+
attr_reader :error_key
|
10
|
+
# @return [String] Specifies the type of error. The category provides error groupings and can be
|
11
|
+
# used to build custom error handling in your integration. If category is
|
12
|
+
# `nested_errors`, the object will contain a nested `errors` property with entity
|
13
|
+
# errors.
|
14
|
+
attr_reader :category
|
15
|
+
# @return [String] Provides details about the error - generally this message can be surfaced to an
|
16
|
+
# end user.
|
17
|
+
attr_reader :message
|
18
|
+
# @return [Hash{String => Object}] Contains relevant data to identify the resource in question when applicable. For
|
19
|
+
# example, to identify an entity `entity_type` and `entity_uuid` will be provided.
|
20
|
+
attr_reader :metadata
|
21
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
+
attr_reader :additional_properties
|
23
|
+
# @return [Object]
|
24
|
+
attr_reader :_field_set
|
25
|
+
protected :_field_set
|
26
|
+
|
27
|
+
OMIT = Object.new
|
28
|
+
|
29
|
+
# @param error_key [String] Specifies where the error occurs. Typically this key identifies the
|
30
|
+
# attribute/parameter related to the error.
|
31
|
+
# @param category [String] Specifies the type of error. The category provides error groupings and can be
|
32
|
+
# used to build custom error handling in your integration. If category is
|
33
|
+
# `nested_errors`, the object will contain a nested `errors` property with entity
|
34
|
+
# errors.
|
35
|
+
# @param message [String] Provides details about the error - generally this message can be surfaced to an
|
36
|
+
# end user.
|
37
|
+
# @param metadata [Hash{String => Object}] Contains relevant data to identify the resource in question when applicable. For
|
38
|
+
# example, to identify an entity `entity_type` and `entity_uuid` will be provided.
|
39
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
40
|
+
# @return [Gusto::EntityErrorObjectErrorsItem]
|
41
|
+
def initialize(error_key: OMIT, category: OMIT, message: OMIT, metadata: OMIT, additional_properties: nil)
|
42
|
+
@error_key = error_key if error_key != OMIT
|
43
|
+
@category = category if category != OMIT
|
44
|
+
@message = message if message != OMIT
|
45
|
+
@metadata = metadata if metadata != OMIT
|
46
|
+
@additional_properties = additional_properties
|
47
|
+
@_field_set = { "error_key": error_key, "category": category, "message": message, "metadata": metadata }.reject do | _k, v |
|
48
|
+
v == OMIT
|
49
|
+
end
|
50
|
+
end
|
51
|
+
# Deserialize a JSON object to an instance of EntityErrorObjectErrorsItem
|
52
|
+
#
|
53
|
+
# @param json_object [String]
|
54
|
+
# @return [Gusto::EntityErrorObjectErrorsItem]
|
55
|
+
def self.from_json(json_object:)
|
56
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
57
|
+
parsed_json = JSON.parse(json_object)
|
58
|
+
error_key = parsed_json["error_key"]
|
59
|
+
category = parsed_json["category"]
|
60
|
+
message = parsed_json["message"]
|
61
|
+
metadata = parsed_json["metadata"]
|
62
|
+
new(
|
63
|
+
error_key: error_key,
|
64
|
+
category: category,
|
65
|
+
message: message,
|
66
|
+
metadata: metadata,
|
67
|
+
additional_properties: struct
|
68
|
+
)
|
69
|
+
end
|
70
|
+
# Serialize an instance of EntityErrorObjectErrorsItem to a JSON object
|
71
|
+
#
|
72
|
+
# @return [String]
|
73
|
+
def to_json
|
74
|
+
@_field_set&.to_json
|
75
|
+
end
|
76
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
77
|
+
# hash and check each fields type against the current object's property
|
78
|
+
# definitions.
|
79
|
+
#
|
80
|
+
# @param obj [Object]
|
81
|
+
# @return [Void]
|
82
|
+
def self.validate_raw(obj:)
|
83
|
+
obj.error_key&.is_a?(String) != false || raise("Passed value for field obj.error_key is not the expected type, validation failed.")
|
84
|
+
obj.category&.is_a?(String) != false || raise("Passed value for field obj.category is not the expected type, validation failed.")
|
85
|
+
obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
|
86
|
+
obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
# Representation of an Event
|
7
|
+
class Event
|
8
|
+
# @return [String] Unique identifier for the event.
|
9
|
+
attr_reader :uuid
|
10
|
+
# @return [String] Description of the event (e.g., payroll.submitted, or company.form.signed).
|
11
|
+
attr_reader :event_type
|
12
|
+
# @return [String] Name of the parent resource of the described entity.
|
13
|
+
attr_reader :resource_type
|
14
|
+
# @return [String] Unique identifier for the parent resource.
|
15
|
+
attr_reader :resource_uuid
|
16
|
+
# @return [String] Name of the entity that the event corresponds to.
|
17
|
+
attr_reader :entity_type
|
18
|
+
# @return [String] Unique identifier for the entity.
|
19
|
+
attr_reader :entity_uuid
|
20
|
+
# @return [Integer] Time at which this event was created. Measured in seconds since the Unix epoch.
|
21
|
+
attr_reader :timestamp
|
22
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
23
|
+
attr_reader :additional_properties
|
24
|
+
# @return [Object]
|
25
|
+
attr_reader :_field_set
|
26
|
+
protected :_field_set
|
27
|
+
|
28
|
+
OMIT = Object.new
|
29
|
+
|
30
|
+
# @param uuid [String] Unique identifier for the event.
|
31
|
+
# @param event_type [String] Description of the event (e.g., payroll.submitted, or company.form.signed).
|
32
|
+
# @param resource_type [String] Name of the parent resource of the described entity.
|
33
|
+
# @param resource_uuid [String] Unique identifier for the parent resource.
|
34
|
+
# @param entity_type [String] Name of the entity that the event corresponds to.
|
35
|
+
# @param entity_uuid [String] Unique identifier for the entity.
|
36
|
+
# @param timestamp [Integer] Time at which this event was created. Measured in seconds since the Unix epoch.
|
37
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
38
|
+
# @return [Gusto::Event]
|
39
|
+
def initialize(uuid:, event_type: OMIT, resource_type: OMIT, resource_uuid: OMIT, entity_type: OMIT, entity_uuid: OMIT, timestamp: OMIT, additional_properties: nil)
|
40
|
+
@uuid = uuid
|
41
|
+
@event_type = event_type if event_type != OMIT
|
42
|
+
@resource_type = resource_type if resource_type != OMIT
|
43
|
+
@resource_uuid = resource_uuid if resource_uuid != OMIT
|
44
|
+
@entity_type = entity_type if entity_type != OMIT
|
45
|
+
@entity_uuid = entity_uuid if entity_uuid != OMIT
|
46
|
+
@timestamp = timestamp if timestamp != OMIT
|
47
|
+
@additional_properties = additional_properties
|
48
|
+
@_field_set = { "uuid": uuid, "event_type": event_type, "resource_type": resource_type, "resource_uuid": resource_uuid, "entity_type": entity_type, "entity_uuid": entity_uuid, "timestamp": timestamp }.reject do | _k, v |
|
49
|
+
v == OMIT
|
50
|
+
end
|
51
|
+
end
|
52
|
+
# Deserialize a JSON object to an instance of Event
|
53
|
+
#
|
54
|
+
# @param json_object [String]
|
55
|
+
# @return [Gusto::Event]
|
56
|
+
def self.from_json(json_object:)
|
57
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
58
|
+
parsed_json = JSON.parse(json_object)
|
59
|
+
uuid = parsed_json["uuid"]
|
60
|
+
event_type = parsed_json["event_type"]
|
61
|
+
resource_type = parsed_json["resource_type"]
|
62
|
+
resource_uuid = parsed_json["resource_uuid"]
|
63
|
+
entity_type = parsed_json["entity_type"]
|
64
|
+
entity_uuid = parsed_json["entity_uuid"]
|
65
|
+
timestamp = parsed_json["timestamp"]
|
66
|
+
new(
|
67
|
+
uuid: uuid,
|
68
|
+
event_type: event_type,
|
69
|
+
resource_type: resource_type,
|
70
|
+
resource_uuid: resource_uuid,
|
71
|
+
entity_type: entity_type,
|
72
|
+
entity_uuid: entity_uuid,
|
73
|
+
timestamp: timestamp,
|
74
|
+
additional_properties: struct
|
75
|
+
)
|
76
|
+
end
|
77
|
+
# Serialize an instance of Event to a JSON object
|
78
|
+
#
|
79
|
+
# @return [String]
|
80
|
+
def to_json
|
81
|
+
@_field_set&.to_json
|
82
|
+
end
|
83
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
84
|
+
# hash and check each fields type against the current object's property
|
85
|
+
# definitions.
|
86
|
+
#
|
87
|
+
# @param obj [Object]
|
88
|
+
# @return [Void]
|
89
|
+
def self.validate_raw(obj:)
|
90
|
+
obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
91
|
+
obj.event_type&.is_a?(String) != false || raise("Passed value for field obj.event_type is not the expected type, validation failed.")
|
92
|
+
obj.resource_type&.is_a?(String) != false || raise("Passed value for field obj.resource_type is not the expected type, validation failed.")
|
93
|
+
obj.resource_uuid&.is_a?(String) != false || raise("Passed value for field obj.resource_uuid is not the expected type, validation failed.")
|
94
|
+
obj.entity_type&.is_a?(String) != false || raise("Passed value for field obj.entity_type is not the expected type, validation failed.")
|
95
|
+
obj.entity_uuid&.is_a?(String) != false || raise("Passed value for field obj.entity_uuid is not the expected type, validation failed.")
|
96
|
+
obj.timestamp&.is_a?(Integer) != false || raise("Passed value for field obj.timestamp is not the expected type, validation failed.")
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gusto
|
4
|
+
# The FLSA status for this compensation. Salaried ('Exempt') employees are paid a
|
5
|
+
# fixed salary every pay period. Salaried with overtime ('Salaried Nonexempt')
|
6
|
+
# employees are paid a fixed salary every pay period, and receive overtime pay
|
7
|
+
# when applicable. Hourly ('Nonexempt') employees are paid for the hours they
|
8
|
+
# work, and receive overtime pay when applicable. Commissioned employees
|
9
|
+
# ('Commission Only Exempt') earn wages based only on commission. Commissioned
|
10
|
+
# with overtime ('Commission Only Nonexempt') earn wages based on commission, and
|
11
|
+
# receive overtime pay when applicable. Owners ('Owner') are employees that own at
|
12
|
+
# least twenty percent of the company.
|
13
|
+
class FlsaStatusType
|
14
|
+
|
15
|
+
EXEMPT = "Exempt"
|
16
|
+
SALARIED_NONEXEMPT = "Salaried Nonexempt"
|
17
|
+
NONEXEMPT = "Nonexempt"
|
18
|
+
OWNER = "Owner"
|
19
|
+
COMMISSION_ONLY_EXEMPT = "Commission Only Exempt"
|
20
|
+
COMMISSION_ONLY_NONEXEMPT = "Commission Only Nonexempt"
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
class FormPdf
|
7
|
+
# @return [String] the UUID of the form
|
8
|
+
attr_reader :uuid
|
9
|
+
# @return [String] the URL of the form
|
10
|
+
attr_reader :document_url
|
11
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
12
|
+
attr_reader :additional_properties
|
13
|
+
# @return [Object]
|
14
|
+
attr_reader :_field_set
|
15
|
+
protected :_field_set
|
16
|
+
|
17
|
+
OMIT = Object.new
|
18
|
+
|
19
|
+
# @param uuid [String] the UUID of the form
|
20
|
+
# @param document_url [String] the URL of the form
|
21
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
+
# @return [Gusto::FormPdf]
|
23
|
+
def initialize(uuid:, document_url: OMIT, additional_properties: nil)
|
24
|
+
@uuid = uuid
|
25
|
+
@document_url = document_url if document_url != OMIT
|
26
|
+
@additional_properties = additional_properties
|
27
|
+
@_field_set = { "uuid": uuid, "document_url": document_url }.reject do | _k, v |
|
28
|
+
v == OMIT
|
29
|
+
end
|
30
|
+
end
|
31
|
+
# Deserialize a JSON object to an instance of FormPdf
|
32
|
+
#
|
33
|
+
# @param json_object [String]
|
34
|
+
# @return [Gusto::FormPdf]
|
35
|
+
def self.from_json(json_object:)
|
36
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
37
|
+
parsed_json = JSON.parse(json_object)
|
38
|
+
uuid = parsed_json["uuid"]
|
39
|
+
document_url = parsed_json["document_url"]
|
40
|
+
new(
|
41
|
+
uuid: uuid,
|
42
|
+
document_url: document_url,
|
43
|
+
additional_properties: struct
|
44
|
+
)
|
45
|
+
end
|
46
|
+
# Serialize an instance of FormPdf to a JSON object
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
def to_json
|
50
|
+
@_field_set&.to_json
|
51
|
+
end
|
52
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
53
|
+
# hash and check each fields type against the current object's property
|
54
|
+
# definitions.
|
55
|
+
#
|
56
|
+
# @param obj [Object]
|
57
|
+
# @return [Void]
|
58
|
+
def self.validate_raw(obj:)
|
59
|
+
obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
60
|
+
obj.document_url&.is_a?(String) != false || raise("Passed value for field obj.document_url is not the expected type, validation failed.")
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,172 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "garnishment_garnishment_type"
|
3
|
+
require_relative "garnishment_child_support"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Gusto
|
8
|
+
# Garnishments, or employee deductions, are fixed amounts or percentages deducted
|
9
|
+
# from an employee’s pay. They can be deducted a specific number of times or on a
|
10
|
+
# recurring basis. Garnishments can also have maximum deductions on a yearly or
|
11
|
+
# per-pay-period bases. Common uses for garnishments are court-ordered payments
|
12
|
+
# for child support or back taxes. Some companies provide loans to their employees
|
13
|
+
# that are repaid via garnishments.
|
14
|
+
class Garnishment
|
15
|
+
# @return [String] The UUID of the garnishment in Gusto.
|
16
|
+
attr_reader :uuid
|
17
|
+
# @return [String] The current version of the object. See the [versioning
|
18
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
19
|
+
# on how to use this field.
|
20
|
+
attr_reader :version
|
21
|
+
# @return [String] The UUID of the employee to which this garnishment belongs.
|
22
|
+
attr_reader :employee_uuid
|
23
|
+
# @return [Boolean] Whether or not this garnishment is currently active.
|
24
|
+
attr_reader :active
|
25
|
+
# @return [String] The amount of the garnishment. Either a percentage or a fixed dollar amount.
|
26
|
+
# Represented as a float, e.g. "8.00".
|
27
|
+
attr_reader :amount
|
28
|
+
# @return [String] The description of the garnishment.
|
29
|
+
attr_reader :description
|
30
|
+
# @return [Boolean] Whether the garnishment is court ordered.
|
31
|
+
attr_reader :court_ordered
|
32
|
+
# @return [Integer] The number of times to apply the garnishment. Ignored if recurring is true.
|
33
|
+
attr_reader :times
|
34
|
+
# @return [Boolean] Whether the garnishment should recur indefinitely.
|
35
|
+
attr_reader :recurring
|
36
|
+
# @return [String] The maximum deduction per annum. A null value indicates no maximum. Represented
|
37
|
+
# as a float, e.g. "200.00".
|
38
|
+
attr_reader :annual_maximum
|
39
|
+
# @return [String] The maximum deduction per pay period. A null value indicates no maximum.
|
40
|
+
# Represented as a float, e.g. "16.00".
|
41
|
+
attr_reader :pay_period_maximum
|
42
|
+
# @return [Boolean] Whether the amount should be treated as a percentage to be deducted per pay
|
43
|
+
# period.
|
44
|
+
attr_reader :deduct_as_percentage
|
45
|
+
# @return [Gusto::GarnishmentGarnishmentType] The specific type of garnishment for court ordered garnishments.
|
46
|
+
attr_reader :garnishment_type
|
47
|
+
# @return [Gusto::GarnishmentChildSupport]
|
48
|
+
attr_reader :child_support
|
49
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
50
|
+
attr_reader :additional_properties
|
51
|
+
# @return [Object]
|
52
|
+
attr_reader :_field_set
|
53
|
+
protected :_field_set
|
54
|
+
|
55
|
+
OMIT = Object.new
|
56
|
+
|
57
|
+
# @param uuid [String] The UUID of the garnishment in Gusto.
|
58
|
+
# @param version [String] The current version of the object. See the [versioning
|
59
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
60
|
+
# on how to use this field.
|
61
|
+
# @param employee_uuid [String] The UUID of the employee to which this garnishment belongs.
|
62
|
+
# @param active [Boolean] Whether or not this garnishment is currently active.
|
63
|
+
# @param amount [String] The amount of the garnishment. Either a percentage or a fixed dollar amount.
|
64
|
+
# Represented as a float, e.g. "8.00".
|
65
|
+
# @param description [String] The description of the garnishment.
|
66
|
+
# @param court_ordered [Boolean] Whether the garnishment is court ordered.
|
67
|
+
# @param times [Integer] The number of times to apply the garnishment. Ignored if recurring is true.
|
68
|
+
# @param recurring [Boolean] Whether the garnishment should recur indefinitely.
|
69
|
+
# @param annual_maximum [String] The maximum deduction per annum. A null value indicates no maximum. Represented
|
70
|
+
# as a float, e.g. "200.00".
|
71
|
+
# @param pay_period_maximum [String] The maximum deduction per pay period. A null value indicates no maximum.
|
72
|
+
# Represented as a float, e.g. "16.00".
|
73
|
+
# @param deduct_as_percentage [Boolean] Whether the amount should be treated as a percentage to be deducted per pay
|
74
|
+
# period.
|
75
|
+
# @param garnishment_type [Gusto::GarnishmentGarnishmentType] The specific type of garnishment for court ordered garnishments.
|
76
|
+
# @param child_support [Gusto::GarnishmentChildSupport]
|
77
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
78
|
+
# @return [Gusto::Garnishment]
|
79
|
+
def initialize(uuid:, version: OMIT, employee_uuid: OMIT, active: OMIT, amount: OMIT, description: OMIT, court_ordered: OMIT, times: OMIT, recurring: OMIT, annual_maximum: OMIT, pay_period_maximum: OMIT, deduct_as_percentage: OMIT, garnishment_type: OMIT, child_support: OMIT, additional_properties: nil)
|
80
|
+
@uuid = uuid
|
81
|
+
@version = version if version != OMIT
|
82
|
+
@employee_uuid = employee_uuid if employee_uuid != OMIT
|
83
|
+
@active = active if active != OMIT
|
84
|
+
@amount = amount if amount != OMIT
|
85
|
+
@description = description if description != OMIT
|
86
|
+
@court_ordered = court_ordered if court_ordered != OMIT
|
87
|
+
@times = times if times != OMIT
|
88
|
+
@recurring = recurring if recurring != OMIT
|
89
|
+
@annual_maximum = annual_maximum if annual_maximum != OMIT
|
90
|
+
@pay_period_maximum = pay_period_maximum if pay_period_maximum != OMIT
|
91
|
+
@deduct_as_percentage = deduct_as_percentage if deduct_as_percentage != OMIT
|
92
|
+
@garnishment_type = garnishment_type if garnishment_type != OMIT
|
93
|
+
@child_support = child_support if child_support != OMIT
|
94
|
+
@additional_properties = additional_properties
|
95
|
+
@_field_set = { "uuid": uuid, "version": version, "employee_uuid": employee_uuid, "active": active, "amount": amount, "description": description, "court_ordered": court_ordered, "times": times, "recurring": recurring, "annual_maximum": annual_maximum, "pay_period_maximum": pay_period_maximum, "deduct_as_percentage": deduct_as_percentage, "garnishment_type": garnishment_type, "child_support": child_support }.reject do | _k, v |
|
96
|
+
v == OMIT
|
97
|
+
end
|
98
|
+
end
|
99
|
+
# Deserialize a JSON object to an instance of Garnishment
|
100
|
+
#
|
101
|
+
# @param json_object [String]
|
102
|
+
# @return [Gusto::Garnishment]
|
103
|
+
def self.from_json(json_object:)
|
104
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
105
|
+
parsed_json = JSON.parse(json_object)
|
106
|
+
uuid = parsed_json["uuid"]
|
107
|
+
version = parsed_json["version"]
|
108
|
+
employee_uuid = parsed_json["employee_uuid"]
|
109
|
+
active = parsed_json["active"]
|
110
|
+
amount = parsed_json["amount"]
|
111
|
+
description = parsed_json["description"]
|
112
|
+
court_ordered = parsed_json["court_ordered"]
|
113
|
+
times = parsed_json["times"]
|
114
|
+
recurring = parsed_json["recurring"]
|
115
|
+
annual_maximum = parsed_json["annual_maximum"]
|
116
|
+
pay_period_maximum = parsed_json["pay_period_maximum"]
|
117
|
+
deduct_as_percentage = parsed_json["deduct_as_percentage"]
|
118
|
+
garnishment_type = parsed_json["garnishment_type"]
|
119
|
+
unless parsed_json["child_support"].nil?
|
120
|
+
child_support = parsed_json["child_support"].to_json
|
121
|
+
child_support = Gusto::GarnishmentChildSupport.from_json(json_object: child_support)
|
122
|
+
else
|
123
|
+
child_support = nil
|
124
|
+
end
|
125
|
+
new(
|
126
|
+
uuid: uuid,
|
127
|
+
version: version,
|
128
|
+
employee_uuid: employee_uuid,
|
129
|
+
active: active,
|
130
|
+
amount: amount,
|
131
|
+
description: description,
|
132
|
+
court_ordered: court_ordered,
|
133
|
+
times: times,
|
134
|
+
recurring: recurring,
|
135
|
+
annual_maximum: annual_maximum,
|
136
|
+
pay_period_maximum: pay_period_maximum,
|
137
|
+
deduct_as_percentage: deduct_as_percentage,
|
138
|
+
garnishment_type: garnishment_type,
|
139
|
+
child_support: child_support,
|
140
|
+
additional_properties: struct
|
141
|
+
)
|
142
|
+
end
|
143
|
+
# Serialize an instance of Garnishment to a JSON object
|
144
|
+
#
|
145
|
+
# @return [String]
|
146
|
+
def to_json
|
147
|
+
@_field_set&.to_json
|
148
|
+
end
|
149
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
150
|
+
# hash and check each fields type against the current object's property
|
151
|
+
# definitions.
|
152
|
+
#
|
153
|
+
# @param obj [Object]
|
154
|
+
# @return [Void]
|
155
|
+
def self.validate_raw(obj:)
|
156
|
+
obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
157
|
+
obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
|
158
|
+
obj.employee_uuid&.is_a?(String) != false || raise("Passed value for field obj.employee_uuid is not the expected type, validation failed.")
|
159
|
+
obj.active&.is_a?(Boolean) != false || raise("Passed value for field obj.active is not the expected type, validation failed.")
|
160
|
+
obj.amount&.is_a?(String) != false || raise("Passed value for field obj.amount is not the expected type, validation failed.")
|
161
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
162
|
+
obj.court_ordered&.is_a?(Boolean) != false || raise("Passed value for field obj.court_ordered is not the expected type, validation failed.")
|
163
|
+
obj.times&.is_a?(Integer) != false || raise("Passed value for field obj.times is not the expected type, validation failed.")
|
164
|
+
obj.recurring&.is_a?(Boolean) != false || raise("Passed value for field obj.recurring is not the expected type, validation failed.")
|
165
|
+
obj.annual_maximum&.is_a?(String) != false || raise("Passed value for field obj.annual_maximum is not the expected type, validation failed.")
|
166
|
+
obj.pay_period_maximum&.is_a?(String) != false || raise("Passed value for field obj.pay_period_maximum is not the expected type, validation failed.")
|
167
|
+
obj.deduct_as_percentage&.is_a?(Boolean) != false || raise("Passed value for field obj.deduct_as_percentage is not the expected type, validation failed.")
|
168
|
+
obj.garnishment_type&.is_a?(Gusto::GarnishmentGarnishmentType) != false || raise("Passed value for field obj.garnishment_type is not the expected type, validation failed.")
|
169
|
+
obj.child_support.nil? || Gusto::GarnishmentChildSupport.validate_raw(obj: obj.child_support)
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "garnishment_child_support_payment_period"
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Gusto
|
7
|
+
# Additional child support order details
|
8
|
+
class GarnishmentChildSupport
|
9
|
+
# @return [String] The two letter state abbreviation for the state issuing the child support order.
|
10
|
+
# Agency data is available in the `GET /v1/garnishments/child_support` API.
|
11
|
+
attr_reader :state
|
12
|
+
# @return [Gusto::GarnishmentChildSupportPaymentPeriod] How often the agency collects the withholding amount. e.g. $500 monthly ->
|
13
|
+
# `Monthly`.
|
14
|
+
attr_reader :payment_period
|
15
|
+
# @return [String] The FIPS code associated with the state or county agency issuing the child
|
16
|
+
# support order. Agency data is available in the `GET
|
17
|
+
# /v1/garnishments/child_support` API.
|
18
|
+
attr_reader :fips_code
|
19
|
+
# @return [String] Child Support Enforcement Case Number associated with this child support
|
20
|
+
# obligation - required for most states. Agency specific requirements are
|
21
|
+
# available in the `GET /v1/garnishments/child_support` API.
|
22
|
+
attr_reader :case_number
|
23
|
+
# @return [String] Order Identifier or Order ID associated with this child support obligation -
|
24
|
+
# required for some states. Agency specific requirements are available in the `GET
|
25
|
+
# /v1/garnishments/child_support` API.
|
26
|
+
attr_reader :order_number
|
27
|
+
# @return [String] Child Support Enforcement Remittance ID associated with this child support
|
28
|
+
# obligation - required for some states. Agency specific requirements are
|
29
|
+
# available in the `GET /v1/garnishments/child_support` API.
|
30
|
+
attr_reader :remittance_number
|
31
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
32
|
+
attr_reader :additional_properties
|
33
|
+
# @return [Object]
|
34
|
+
attr_reader :_field_set
|
35
|
+
protected :_field_set
|
36
|
+
|
37
|
+
OMIT = Object.new
|
38
|
+
|
39
|
+
# @param state [String] The two letter state abbreviation for the state issuing the child support order.
|
40
|
+
# Agency data is available in the `GET /v1/garnishments/child_support` API.
|
41
|
+
# @param payment_period [Gusto::GarnishmentChildSupportPaymentPeriod] How often the agency collects the withholding amount. e.g. $500 monthly ->
|
42
|
+
# `Monthly`.
|
43
|
+
# @param fips_code [String] The FIPS code associated with the state or county agency issuing the child
|
44
|
+
# support order. Agency data is available in the `GET
|
45
|
+
# /v1/garnishments/child_support` API.
|
46
|
+
# @param case_number [String] Child Support Enforcement Case Number associated with this child support
|
47
|
+
# obligation - required for most states. Agency specific requirements are
|
48
|
+
# available in the `GET /v1/garnishments/child_support` API.
|
49
|
+
# @param order_number [String] Order Identifier or Order ID associated with this child support obligation -
|
50
|
+
# required for some states. Agency specific requirements are available in the `GET
|
51
|
+
# /v1/garnishments/child_support` API.
|
52
|
+
# @param remittance_number [String] Child Support Enforcement Remittance ID associated with this child support
|
53
|
+
# obligation - required for some states. Agency specific requirements are
|
54
|
+
# available in the `GET /v1/garnishments/child_support` API.
|
55
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
56
|
+
# @return [Gusto::GarnishmentChildSupport]
|
57
|
+
def initialize(state: OMIT, payment_period: OMIT, fips_code: OMIT, case_number: OMIT, order_number: OMIT, remittance_number: OMIT, additional_properties: nil)
|
58
|
+
@state = state if state != OMIT
|
59
|
+
@payment_period = payment_period if payment_period != OMIT
|
60
|
+
@fips_code = fips_code if fips_code != OMIT
|
61
|
+
@case_number = case_number if case_number != OMIT
|
62
|
+
@order_number = order_number if order_number != OMIT
|
63
|
+
@remittance_number = remittance_number if remittance_number != OMIT
|
64
|
+
@additional_properties = additional_properties
|
65
|
+
@_field_set = { "state": state, "payment_period": payment_period, "fips_code": fips_code, "case_number": case_number, "order_number": order_number, "remittance_number": remittance_number }.reject do | _k, v |
|
66
|
+
v == OMIT
|
67
|
+
end
|
68
|
+
end
|
69
|
+
# Deserialize a JSON object to an instance of GarnishmentChildSupport
|
70
|
+
#
|
71
|
+
# @param json_object [String]
|
72
|
+
# @return [Gusto::GarnishmentChildSupport]
|
73
|
+
def self.from_json(json_object:)
|
74
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
75
|
+
parsed_json = JSON.parse(json_object)
|
76
|
+
state = parsed_json["state"]
|
77
|
+
payment_period = parsed_json["payment_period"]
|
78
|
+
fips_code = parsed_json["fips_code"]
|
79
|
+
case_number = parsed_json["case_number"]
|
80
|
+
order_number = parsed_json["order_number"]
|
81
|
+
remittance_number = parsed_json["remittance_number"]
|
82
|
+
new(
|
83
|
+
state: state,
|
84
|
+
payment_period: payment_period,
|
85
|
+
fips_code: fips_code,
|
86
|
+
case_number: case_number,
|
87
|
+
order_number: order_number,
|
88
|
+
remittance_number: remittance_number,
|
89
|
+
additional_properties: struct
|
90
|
+
)
|
91
|
+
end
|
92
|
+
# Serialize an instance of GarnishmentChildSupport to a JSON object
|
93
|
+
#
|
94
|
+
# @return [String]
|
95
|
+
def to_json
|
96
|
+
@_field_set&.to_json
|
97
|
+
end
|
98
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
99
|
+
# hash and check each fields type against the current object's property
|
100
|
+
# definitions.
|
101
|
+
#
|
102
|
+
# @param obj [Object]
|
103
|
+
# @return [Void]
|
104
|
+
def self.validate_raw(obj:)
|
105
|
+
obj.state&.is_a?(String) != false || raise("Passed value for field obj.state is not the expected type, validation failed.")
|
106
|
+
obj.payment_period&.is_a?(Gusto::GarnishmentChildSupportPaymentPeriod) != false || raise("Passed value for field obj.payment_period is not the expected type, validation failed.")
|
107
|
+
obj.fips_code&.is_a?(String) != false || raise("Passed value for field obj.fips_code is not the expected type, validation failed.")
|
108
|
+
obj.case_number&.is_a?(String) != false || raise("Passed value for field obj.case_number is not the expected type, validation failed.")
|
109
|
+
obj.order_number&.is_a?(String) != false || raise("Passed value for field obj.order_number is not the expected type, validation failed.")
|
110
|
+
obj.remittance_number&.is_a?(String) != false || raise("Passed value for field obj.remittance_number is not the expected type, validation failed.")
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|