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,139 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "ostruct"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Gusto
|
6
|
+
class EmployeeAddress
|
7
|
+
# @return [String] The UUID of the employee address
|
8
|
+
attr_reader :uuid
|
9
|
+
# @return [String] The UUID of the employee
|
10
|
+
attr_reader :employee_uuid
|
11
|
+
# @return [String] The date the employee started living at the address.
|
12
|
+
attr_reader :effective_date
|
13
|
+
# @return [Boolean] Determines if home taxes should be withheld and paid for employee.
|
14
|
+
attr_reader :courtesy_withholding
|
15
|
+
# @return [String]
|
16
|
+
attr_reader :street1
|
17
|
+
# @return [String]
|
18
|
+
attr_reader :street2
|
19
|
+
# @return [String]
|
20
|
+
attr_reader :city
|
21
|
+
# @return [String]
|
22
|
+
attr_reader :state
|
23
|
+
# @return [String]
|
24
|
+
attr_reader :zip
|
25
|
+
# @return [String]
|
26
|
+
attr_reader :country
|
27
|
+
# @return [Boolean] The status of the location. Inactive locations have been deleted, but may still
|
28
|
+
# have historical data associated with them.
|
29
|
+
attr_reader :active
|
30
|
+
# @return [String] The current version of the object. See the [versioning
|
31
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
32
|
+
# on how to use this field.
|
33
|
+
attr_reader :version
|
34
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
35
|
+
attr_reader :additional_properties
|
36
|
+
# @return [Object]
|
37
|
+
attr_reader :_field_set
|
38
|
+
protected :_field_set
|
39
|
+
|
40
|
+
OMIT = Object.new
|
41
|
+
|
42
|
+
# @param uuid [String] The UUID of the employee address
|
43
|
+
# @param employee_uuid [String] The UUID of the employee
|
44
|
+
# @param effective_date [String] The date the employee started living at the address.
|
45
|
+
# @param courtesy_withholding [Boolean] Determines if home taxes should be withheld and paid for employee.
|
46
|
+
# @param street1 [String]
|
47
|
+
# @param street2 [String]
|
48
|
+
# @param city [String]
|
49
|
+
# @param state [String]
|
50
|
+
# @param zip [String]
|
51
|
+
# @param country [String]
|
52
|
+
# @param active [Boolean] The status of the location. Inactive locations have been deleted, but may still
|
53
|
+
# have historical data associated with them.
|
54
|
+
# @param version [String] The current version of the object. See the [versioning
|
55
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
56
|
+
# on how to use this field.
|
57
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
58
|
+
# @return [Gusto::EmployeeAddress]
|
59
|
+
def initialize(uuid: OMIT, employee_uuid: OMIT, effective_date: OMIT, courtesy_withholding: OMIT, street1: OMIT, street2: OMIT, city: OMIT, state: OMIT, zip: OMIT, country: OMIT, active: OMIT, version: OMIT, additional_properties: nil)
|
60
|
+
@uuid = uuid if uuid != OMIT
|
61
|
+
@employee_uuid = employee_uuid if employee_uuid != OMIT
|
62
|
+
@effective_date = effective_date if effective_date != OMIT
|
63
|
+
@courtesy_withholding = courtesy_withholding if courtesy_withholding != OMIT
|
64
|
+
@street1 = street1 if street1 != OMIT
|
65
|
+
@street2 = street2 if street2 != OMIT
|
66
|
+
@city = city if city != OMIT
|
67
|
+
@state = state if state != OMIT
|
68
|
+
@zip = zip if zip != OMIT
|
69
|
+
@country = country if country != OMIT
|
70
|
+
@active = active if active != OMIT
|
71
|
+
@version = version if version != OMIT
|
72
|
+
@additional_properties = additional_properties
|
73
|
+
@_field_set = { "uuid": uuid, "employee_uuid": employee_uuid, "effective_date": effective_date, "courtesy_withholding": courtesy_withholding, "street_1": street1, "street_2": street2, "city": city, "state": state, "zip": zip, "country": country, "active": active, "version": version }.reject do | _k, v |
|
74
|
+
v == OMIT
|
75
|
+
end
|
76
|
+
end
|
77
|
+
# Deserialize a JSON object to an instance of EmployeeAddress
|
78
|
+
#
|
79
|
+
# @param json_object [String]
|
80
|
+
# @return [Gusto::EmployeeAddress]
|
81
|
+
def self.from_json(json_object:)
|
82
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
83
|
+
parsed_json = JSON.parse(json_object)
|
84
|
+
uuid = parsed_json["uuid"]
|
85
|
+
employee_uuid = parsed_json["employee_uuid"]
|
86
|
+
effective_date = parsed_json["effective_date"]
|
87
|
+
courtesy_withholding = parsed_json["courtesy_withholding"]
|
88
|
+
street1 = parsed_json["street_1"]
|
89
|
+
street2 = parsed_json["street_2"]
|
90
|
+
city = parsed_json["city"]
|
91
|
+
state = parsed_json["state"]
|
92
|
+
zip = parsed_json["zip"]
|
93
|
+
country = parsed_json["country"]
|
94
|
+
active = parsed_json["active"]
|
95
|
+
version = parsed_json["version"]
|
96
|
+
new(
|
97
|
+
uuid: uuid,
|
98
|
+
employee_uuid: employee_uuid,
|
99
|
+
effective_date: effective_date,
|
100
|
+
courtesy_withholding: courtesy_withholding,
|
101
|
+
street1: street1,
|
102
|
+
street2: street2,
|
103
|
+
city: city,
|
104
|
+
state: state,
|
105
|
+
zip: zip,
|
106
|
+
country: country,
|
107
|
+
active: active,
|
108
|
+
version: version,
|
109
|
+
additional_properties: struct
|
110
|
+
)
|
111
|
+
end
|
112
|
+
# Serialize an instance of EmployeeAddress to a JSON object
|
113
|
+
#
|
114
|
+
# @return [String]
|
115
|
+
def to_json
|
116
|
+
@_field_set&.to_json
|
117
|
+
end
|
118
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
119
|
+
# hash and check each fields type against the current object's property
|
120
|
+
# definitions.
|
121
|
+
#
|
122
|
+
# @param obj [Object]
|
123
|
+
# @return [Void]
|
124
|
+
def self.validate_raw(obj:)
|
125
|
+
obj.uuid&.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
126
|
+
obj.employee_uuid&.is_a?(String) != false || raise("Passed value for field obj.employee_uuid is not the expected type, validation failed.")
|
127
|
+
obj.effective_date&.is_a?(String) != false || raise("Passed value for field obj.effective_date is not the expected type, validation failed.")
|
128
|
+
obj.courtesy_withholding&.is_a?(Boolean) != false || raise("Passed value for field obj.courtesy_withholding is not the expected type, validation failed.")
|
129
|
+
obj.street1&.is_a?(String) != false || raise("Passed value for field obj.street1 is not the expected type, validation failed.")
|
130
|
+
obj.street2&.is_a?(String) != false || raise("Passed value for field obj.street2 is not the expected type, validation failed.")
|
131
|
+
obj.city&.is_a?(String) != false || raise("Passed value for field obj.city is not the expected type, validation failed.")
|
132
|
+
obj.state&.is_a?(String) != false || raise("Passed value for field obj.state is not the expected type, validation failed.")
|
133
|
+
obj.zip&.is_a?(String) != false || raise("Passed value for field obj.zip is not the expected type, validation failed.")
|
134
|
+
obj.country&.is_a?(String) != false || raise("Passed value for field obj.country is not the expected type, validation failed.")
|
135
|
+
obj.active&.is_a?(Boolean) != false || raise("Passed value for field obj.active is not the expected type, validation failed.")
|
136
|
+
obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
@@ -0,0 +1,220 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "employee_benefit_base_object_contribution"
|
3
|
+
require_relative "employee_benefit_base_object_deduction_reduces_taxable_income"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Gusto
|
8
|
+
# The representation of an employee benefit.
|
9
|
+
class EmployeeBenefit
|
10
|
+
# @return [String] The UUID of the employee to which the benefit belongs.
|
11
|
+
attr_reader :employee_uuid
|
12
|
+
# @return [String] The UUID of the company benefit.
|
13
|
+
attr_reader :company_benefit_uuid
|
14
|
+
# @return [String] The UUID of the employee benefit.
|
15
|
+
attr_reader :uuid
|
16
|
+
# @return [String] The current version of the object. See the [versioning
|
17
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
18
|
+
# on how to use this field.
|
19
|
+
attr_reader :version
|
20
|
+
# @return [Boolean] Whether the employee benefit is active.
|
21
|
+
attr_reader :active
|
22
|
+
# @return [String] The amount to be deducted, per pay period, from the employee's pay.
|
23
|
+
attr_reader :employee_deduction
|
24
|
+
# @return [Boolean] Whether the employee deduction amount should be treated as a percentage to be
|
25
|
+
# deducted from each payroll.
|
26
|
+
attr_reader :deduct_as_percentage
|
27
|
+
# @return [String] The maximum employee deduction amount per year. A null value signifies no limit.
|
28
|
+
attr_reader :employee_deduction_annual_maximum
|
29
|
+
# @return [Gusto::EmployeeBenefitBaseObjectContribution] An object representing the type and value of the company contribution.
|
30
|
+
attr_reader :contribution
|
31
|
+
# @return [Boolean] Whether the company contribution is elective (aka matching). For "tiered"
|
32
|
+
# contribution types, this is always true.
|
33
|
+
attr_reader :elective
|
34
|
+
# @return [String] The maximum company contribution amount per year. A null value signifies no
|
35
|
+
# limit.
|
36
|
+
attr_reader :company_contribution_annual_maximum
|
37
|
+
# @return [String] Some benefits require additional information to determine their limit. For
|
38
|
+
# example, for an HSA benefit, the limit option should be either "Family" or
|
39
|
+
# "Individual". For a Dependent Care FSA benefit, the limit option should be
|
40
|
+
# either "Joint Filing or Single" or "Married and Filing Separately".
|
41
|
+
attr_reader :limit_option
|
42
|
+
# @return [Boolean] Whether the employee should use a benefit’s "catch up" rate. Only Roth 401k and
|
43
|
+
# 401k benefits use this value for employees over 50.
|
44
|
+
attr_reader :catch_up
|
45
|
+
# @return [String] Identifier for a 401(k) loan assigned by the 401(k) provider
|
46
|
+
attr_reader :retirement_loan_identifier
|
47
|
+
# @return [String] The amount that the employee is insured for. Note: company contribution cannot
|
48
|
+
# be present if coverage amount is set.
|
49
|
+
attr_reader :coverage_amount
|
50
|
+
# @return [Gusto::EmployeeBenefitBaseObjectDeductionReducesTaxableIncome] Whether the employee deduction reduces taxable income or not. Only valid for
|
51
|
+
# Group Term Life benefits. Note: when the value is not "unset", coverage amount
|
52
|
+
# and coverage salary multiplier are ignored.
|
53
|
+
attr_reader :deduction_reduces_taxable_income
|
54
|
+
# @return [String] The coverage amount as a multiple of the employee’s salary. Only applicable for
|
55
|
+
# Group Term Life benefits. Note: cannot be set if coverage amount is also set.
|
56
|
+
attr_reader :coverage_salary_multiplier
|
57
|
+
# @return [String] The amount to be paid, per pay period, by the company. This field will not
|
58
|
+
# appear for tiered contribution types.
|
59
|
+
attr_reader :company_contribution
|
60
|
+
# @return [Boolean] Whether the company_contribution value should be treated as a percentage to be
|
61
|
+
# added to each payroll. This field will not appear for tiered contribution types.
|
62
|
+
attr_reader :contribute_as_percentage
|
63
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
64
|
+
attr_reader :additional_properties
|
65
|
+
# @return [Object]
|
66
|
+
attr_reader :_field_set
|
67
|
+
protected :_field_set
|
68
|
+
|
69
|
+
OMIT = Object.new
|
70
|
+
|
71
|
+
# @param employee_uuid [String] The UUID of the employee to which the benefit belongs.
|
72
|
+
# @param company_benefit_uuid [String] The UUID of the company benefit.
|
73
|
+
# @param uuid [String] The UUID of the employee benefit.
|
74
|
+
# @param version [String] The current version of the object. See the [versioning
|
75
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
76
|
+
# on how to use this field.
|
77
|
+
# @param active [Boolean] Whether the employee benefit is active.
|
78
|
+
# @param employee_deduction [String] The amount to be deducted, per pay period, from the employee's pay.
|
79
|
+
# @param deduct_as_percentage [Boolean] Whether the employee deduction amount should be treated as a percentage to be
|
80
|
+
# deducted from each payroll.
|
81
|
+
# @param employee_deduction_annual_maximum [String] The maximum employee deduction amount per year. A null value signifies no limit.
|
82
|
+
# @param contribution [Gusto::EmployeeBenefitBaseObjectContribution] An object representing the type and value of the company contribution.
|
83
|
+
# @param elective [Boolean] Whether the company contribution is elective (aka matching). For "tiered"
|
84
|
+
# contribution types, this is always true.
|
85
|
+
# @param company_contribution_annual_maximum [String] The maximum company contribution amount per year. A null value signifies no
|
86
|
+
# limit.
|
87
|
+
# @param limit_option [String] Some benefits require additional information to determine their limit. For
|
88
|
+
# example, for an HSA benefit, the limit option should be either "Family" or
|
89
|
+
# "Individual". For a Dependent Care FSA benefit, the limit option should be
|
90
|
+
# either "Joint Filing or Single" or "Married and Filing Separately".
|
91
|
+
# @param catch_up [Boolean] Whether the employee should use a benefit’s "catch up" rate. Only Roth 401k and
|
92
|
+
# 401k benefits use this value for employees over 50.
|
93
|
+
# @param retirement_loan_identifier [String] Identifier for a 401(k) loan assigned by the 401(k) provider
|
94
|
+
# @param coverage_amount [String] The amount that the employee is insured for. Note: company contribution cannot
|
95
|
+
# be present if coverage amount is set.
|
96
|
+
# @param deduction_reduces_taxable_income [Gusto::EmployeeBenefitBaseObjectDeductionReducesTaxableIncome] Whether the employee deduction reduces taxable income or not. Only valid for
|
97
|
+
# Group Term Life benefits. Note: when the value is not "unset", coverage amount
|
98
|
+
# and coverage salary multiplier are ignored.
|
99
|
+
# @param coverage_salary_multiplier [String] The coverage amount as a multiple of the employee’s salary. Only applicable for
|
100
|
+
# Group Term Life benefits. Note: cannot be set if coverage amount is also set.
|
101
|
+
# @param company_contribution [String] The amount to be paid, per pay period, by the company. This field will not
|
102
|
+
# appear for tiered contribution types.
|
103
|
+
# @param contribute_as_percentage [Boolean] Whether the company_contribution value should be treated as a percentage to be
|
104
|
+
# added to each payroll. This field will not appear for tiered contribution types.
|
105
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
106
|
+
# @return [Gusto::EmployeeBenefit]
|
107
|
+
def initialize(employee_uuid: OMIT, company_benefit_uuid: OMIT, uuid: OMIT, version: OMIT, active: OMIT, employee_deduction: OMIT, deduct_as_percentage: OMIT, employee_deduction_annual_maximum: OMIT, contribution: OMIT, elective: OMIT, company_contribution_annual_maximum: OMIT, limit_option: OMIT, catch_up: OMIT, retirement_loan_identifier: OMIT, coverage_amount: OMIT, deduction_reduces_taxable_income: OMIT, coverage_salary_multiplier: OMIT, company_contribution: OMIT, contribute_as_percentage: OMIT, additional_properties: nil)
|
108
|
+
@employee_uuid = employee_uuid if employee_uuid != OMIT
|
109
|
+
@company_benefit_uuid = company_benefit_uuid if company_benefit_uuid != OMIT
|
110
|
+
@uuid = uuid if uuid != OMIT
|
111
|
+
@version = version if version != OMIT
|
112
|
+
@active = active if active != OMIT
|
113
|
+
@employee_deduction = employee_deduction if employee_deduction != OMIT
|
114
|
+
@deduct_as_percentage = deduct_as_percentage if deduct_as_percentage != OMIT
|
115
|
+
@employee_deduction_annual_maximum = employee_deduction_annual_maximum if employee_deduction_annual_maximum != OMIT
|
116
|
+
@contribution = contribution if contribution != OMIT
|
117
|
+
@elective = elective if elective != OMIT
|
118
|
+
@company_contribution_annual_maximum = company_contribution_annual_maximum if company_contribution_annual_maximum != OMIT
|
119
|
+
@limit_option = limit_option if limit_option != OMIT
|
120
|
+
@catch_up = catch_up if catch_up != OMIT
|
121
|
+
@retirement_loan_identifier = retirement_loan_identifier if retirement_loan_identifier != OMIT
|
122
|
+
@coverage_amount = coverage_amount if coverage_amount != OMIT
|
123
|
+
@deduction_reduces_taxable_income = deduction_reduces_taxable_income if deduction_reduces_taxable_income != OMIT
|
124
|
+
@coverage_salary_multiplier = coverage_salary_multiplier if coverage_salary_multiplier != OMIT
|
125
|
+
@company_contribution = company_contribution if company_contribution != OMIT
|
126
|
+
@contribute_as_percentage = contribute_as_percentage if contribute_as_percentage != OMIT
|
127
|
+
@additional_properties = additional_properties
|
128
|
+
@_field_set = { "employee_uuid": employee_uuid, "company_benefit_uuid": company_benefit_uuid, "uuid": uuid, "version": version, "active": active, "employee_deduction": employee_deduction, "deduct_as_percentage": deduct_as_percentage, "employee_deduction_annual_maximum": employee_deduction_annual_maximum, "contribution": contribution, "elective": elective, "company_contribution_annual_maximum": company_contribution_annual_maximum, "limit_option": limit_option, "catch_up": catch_up, "retirement_loan_identifier": retirement_loan_identifier, "coverage_amount": coverage_amount, "deduction_reduces_taxable_income": deduction_reduces_taxable_income, "coverage_salary_multiplier": coverage_salary_multiplier, "company_contribution": company_contribution, "contribute_as_percentage": contribute_as_percentage }.reject do | _k, v |
|
129
|
+
v == OMIT
|
130
|
+
end
|
131
|
+
end
|
132
|
+
# Deserialize a JSON object to an instance of EmployeeBenefit
|
133
|
+
#
|
134
|
+
# @param json_object [String]
|
135
|
+
# @return [Gusto::EmployeeBenefit]
|
136
|
+
def self.from_json(json_object:)
|
137
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
138
|
+
parsed_json = JSON.parse(json_object)
|
139
|
+
employee_uuid = parsed_json["employee_uuid"]
|
140
|
+
company_benefit_uuid = parsed_json["company_benefit_uuid"]
|
141
|
+
uuid = parsed_json["uuid"]
|
142
|
+
version = parsed_json["version"]
|
143
|
+
active = parsed_json["active"]
|
144
|
+
employee_deduction = parsed_json["employee_deduction"]
|
145
|
+
deduct_as_percentage = parsed_json["deduct_as_percentage"]
|
146
|
+
employee_deduction_annual_maximum = parsed_json["employee_deduction_annual_maximum"]
|
147
|
+
unless parsed_json["contribution"].nil?
|
148
|
+
contribution = parsed_json["contribution"].to_json
|
149
|
+
contribution = Gusto::EmployeeBenefitBaseObjectContribution.from_json(json_object: contribution)
|
150
|
+
else
|
151
|
+
contribution = nil
|
152
|
+
end
|
153
|
+
elective = parsed_json["elective"]
|
154
|
+
company_contribution_annual_maximum = parsed_json["company_contribution_annual_maximum"]
|
155
|
+
limit_option = parsed_json["limit_option"]
|
156
|
+
catch_up = parsed_json["catch_up"]
|
157
|
+
retirement_loan_identifier = parsed_json["retirement_loan_identifier"]
|
158
|
+
coverage_amount = parsed_json["coverage_amount"]
|
159
|
+
deduction_reduces_taxable_income = parsed_json["deduction_reduces_taxable_income"]
|
160
|
+
coverage_salary_multiplier = parsed_json["coverage_salary_multiplier"]
|
161
|
+
company_contribution = parsed_json["company_contribution"]
|
162
|
+
contribute_as_percentage = parsed_json["contribute_as_percentage"]
|
163
|
+
new(
|
164
|
+
employee_uuid: employee_uuid,
|
165
|
+
company_benefit_uuid: company_benefit_uuid,
|
166
|
+
uuid: uuid,
|
167
|
+
version: version,
|
168
|
+
active: active,
|
169
|
+
employee_deduction: employee_deduction,
|
170
|
+
deduct_as_percentage: deduct_as_percentage,
|
171
|
+
employee_deduction_annual_maximum: employee_deduction_annual_maximum,
|
172
|
+
contribution: contribution,
|
173
|
+
elective: elective,
|
174
|
+
company_contribution_annual_maximum: company_contribution_annual_maximum,
|
175
|
+
limit_option: limit_option,
|
176
|
+
catch_up: catch_up,
|
177
|
+
retirement_loan_identifier: retirement_loan_identifier,
|
178
|
+
coverage_amount: coverage_amount,
|
179
|
+
deduction_reduces_taxable_income: deduction_reduces_taxable_income,
|
180
|
+
coverage_salary_multiplier: coverage_salary_multiplier,
|
181
|
+
company_contribution: company_contribution,
|
182
|
+
contribute_as_percentage: contribute_as_percentage,
|
183
|
+
additional_properties: struct
|
184
|
+
)
|
185
|
+
end
|
186
|
+
# Serialize an instance of EmployeeBenefit to a JSON object
|
187
|
+
#
|
188
|
+
# @return [String]
|
189
|
+
def to_json
|
190
|
+
@_field_set&.to_json
|
191
|
+
end
|
192
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
193
|
+
# hash and check each fields type against the current object's property
|
194
|
+
# definitions.
|
195
|
+
#
|
196
|
+
# @param obj [Object]
|
197
|
+
# @return [Void]
|
198
|
+
def self.validate_raw(obj:)
|
199
|
+
obj.employee_uuid&.is_a?(String) != false || raise("Passed value for field obj.employee_uuid is not the expected type, validation failed.")
|
200
|
+
obj.company_benefit_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_benefit_uuid is not the expected type, validation failed.")
|
201
|
+
obj.uuid&.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
|
202
|
+
obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
|
203
|
+
obj.active&.is_a?(Boolean) != false || raise("Passed value for field obj.active is not the expected type, validation failed.")
|
204
|
+
obj.employee_deduction&.is_a?(String) != false || raise("Passed value for field obj.employee_deduction is not the expected type, validation failed.")
|
205
|
+
obj.deduct_as_percentage&.is_a?(Boolean) != false || raise("Passed value for field obj.deduct_as_percentage is not the expected type, validation failed.")
|
206
|
+
obj.employee_deduction_annual_maximum&.is_a?(String) != false || raise("Passed value for field obj.employee_deduction_annual_maximum is not the expected type, validation failed.")
|
207
|
+
obj.contribution.nil? || Gusto::EmployeeBenefitBaseObjectContribution.validate_raw(obj: obj.contribution)
|
208
|
+
obj.elective&.is_a?(Boolean) != false || raise("Passed value for field obj.elective is not the expected type, validation failed.")
|
209
|
+
obj.company_contribution_annual_maximum&.is_a?(String) != false || raise("Passed value for field obj.company_contribution_annual_maximum is not the expected type, validation failed.")
|
210
|
+
obj.limit_option&.is_a?(String) != false || raise("Passed value for field obj.limit_option is not the expected type, validation failed.")
|
211
|
+
obj.catch_up&.is_a?(Boolean) != false || raise("Passed value for field obj.catch_up is not the expected type, validation failed.")
|
212
|
+
obj.retirement_loan_identifier&.is_a?(String) != false || raise("Passed value for field obj.retirement_loan_identifier is not the expected type, validation failed.")
|
213
|
+
obj.coverage_amount&.is_a?(String) != false || raise("Passed value for field obj.coverage_amount is not the expected type, validation failed.")
|
214
|
+
obj.deduction_reduces_taxable_income&.is_a?(Gusto::EmployeeBenefitBaseObjectDeductionReducesTaxableIncome) != false || raise("Passed value for field obj.deduction_reduces_taxable_income is not the expected type, validation failed.")
|
215
|
+
obj.coverage_salary_multiplier&.is_a?(String) != false || raise("Passed value for field obj.coverage_salary_multiplier is not the expected type, validation failed.")
|
216
|
+
obj.company_contribution&.is_a?(String) != false || raise("Passed value for field obj.company_contribution is not the expected type, validation failed.")
|
217
|
+
obj.contribute_as_percentage&.is_a?(Boolean) != false || raise("Passed value for field obj.contribute_as_percentage is not the expected type, validation failed.")
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
@@ -0,0 +1,199 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "employee_benefit_base_object_contribution"
|
3
|
+
require_relative "employee_benefit_base_object_deduction_reduces_taxable_income"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Gusto
|
8
|
+
|
9
|
+
class EmployeeBenefitBaseObject
|
10
|
+
# @return [String] The current version of the object. See the [versioning
|
11
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
12
|
+
# on how to use this field.
|
13
|
+
attr_reader :version
|
14
|
+
# @return [Boolean] Whether the employee benefit is active.
|
15
|
+
attr_reader :active
|
16
|
+
# @return [String] The amount to be deducted, per pay period, from the employee's pay.
|
17
|
+
attr_reader :employee_deduction
|
18
|
+
# @return [Boolean] Whether the employee deduction amount should be treated as a percentage to be
|
19
|
+
# deducted from each payroll.
|
20
|
+
attr_reader :deduct_as_percentage
|
21
|
+
# @return [String] The maximum employee deduction amount per year. A null value signifies no limit.
|
22
|
+
attr_reader :employee_deduction_annual_maximum
|
23
|
+
# @return [Gusto::EmployeeBenefitBaseObjectContribution] An object representing the type and value of the company contribution.
|
24
|
+
attr_reader :contribution
|
25
|
+
# @return [Boolean] Whether the company contribution is elective (aka matching). For "tiered"
|
26
|
+
# contribution types, this is always true.
|
27
|
+
attr_reader :elective
|
28
|
+
# @return [String] The maximum company contribution amount per year. A null value signifies no
|
29
|
+
# limit.
|
30
|
+
attr_reader :company_contribution_annual_maximum
|
31
|
+
# @return [String] Some benefits require additional information to determine their limit. For
|
32
|
+
# example, for an HSA benefit, the limit option should be either "Family" or
|
33
|
+
# "Individual". For a Dependent Care FSA benefit, the limit option should be
|
34
|
+
# either "Joint Filing or Single" or "Married and Filing Separately".
|
35
|
+
attr_reader :limit_option
|
36
|
+
# @return [Boolean] Whether the employee should use a benefit’s "catch up" rate. Only Roth 401k and
|
37
|
+
# 401k benefits use this value for employees over 50.
|
38
|
+
attr_reader :catch_up
|
39
|
+
# @return [String] Identifier for a 401(k) loan assigned by the 401(k) provider
|
40
|
+
attr_reader :retirement_loan_identifier
|
41
|
+
# @return [String] The amount that the employee is insured for. Note: company contribution cannot
|
42
|
+
# be present if coverage amount is set.
|
43
|
+
attr_reader :coverage_amount
|
44
|
+
# @return [Gusto::EmployeeBenefitBaseObjectDeductionReducesTaxableIncome] Whether the employee deduction reduces taxable income or not. Only valid for
|
45
|
+
# Group Term Life benefits. Note: when the value is not "unset", coverage amount
|
46
|
+
# and coverage salary multiplier are ignored.
|
47
|
+
attr_reader :deduction_reduces_taxable_income
|
48
|
+
# @return [String] The coverage amount as a multiple of the employee’s salary. Only applicable for
|
49
|
+
# Group Term Life benefits. Note: cannot be set if coverage amount is also set.
|
50
|
+
attr_reader :coverage_salary_multiplier
|
51
|
+
# @return [String] The amount to be paid, per pay period, by the company. This field will not
|
52
|
+
# appear for tiered contribution types.
|
53
|
+
attr_reader :company_contribution
|
54
|
+
# @return [Boolean] Whether the company_contribution value should be treated as a percentage to be
|
55
|
+
# added to each payroll. This field will not appear for tiered contribution types.
|
56
|
+
attr_reader :contribute_as_percentage
|
57
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
58
|
+
attr_reader :additional_properties
|
59
|
+
# @return [Object]
|
60
|
+
attr_reader :_field_set
|
61
|
+
protected :_field_set
|
62
|
+
|
63
|
+
OMIT = Object.new
|
64
|
+
|
65
|
+
# @param version [String] The current version of the object. See the [versioning
|
66
|
+
# guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information
|
67
|
+
# on how to use this field.
|
68
|
+
# @param active [Boolean] Whether the employee benefit is active.
|
69
|
+
# @param employee_deduction [String] The amount to be deducted, per pay period, from the employee's pay.
|
70
|
+
# @param deduct_as_percentage [Boolean] Whether the employee deduction amount should be treated as a percentage to be
|
71
|
+
# deducted from each payroll.
|
72
|
+
# @param employee_deduction_annual_maximum [String] The maximum employee deduction amount per year. A null value signifies no limit.
|
73
|
+
# @param contribution [Gusto::EmployeeBenefitBaseObjectContribution] An object representing the type and value of the company contribution.
|
74
|
+
# @param elective [Boolean] Whether the company contribution is elective (aka matching). For "tiered"
|
75
|
+
# contribution types, this is always true.
|
76
|
+
# @param company_contribution_annual_maximum [String] The maximum company contribution amount per year. A null value signifies no
|
77
|
+
# limit.
|
78
|
+
# @param limit_option [String] Some benefits require additional information to determine their limit. For
|
79
|
+
# example, for an HSA benefit, the limit option should be either "Family" or
|
80
|
+
# "Individual". For a Dependent Care FSA benefit, the limit option should be
|
81
|
+
# either "Joint Filing or Single" or "Married and Filing Separately".
|
82
|
+
# @param catch_up [Boolean] Whether the employee should use a benefit’s "catch up" rate. Only Roth 401k and
|
83
|
+
# 401k benefits use this value for employees over 50.
|
84
|
+
# @param retirement_loan_identifier [String] Identifier for a 401(k) loan assigned by the 401(k) provider
|
85
|
+
# @param coverage_amount [String] The amount that the employee is insured for. Note: company contribution cannot
|
86
|
+
# be present if coverage amount is set.
|
87
|
+
# @param deduction_reduces_taxable_income [Gusto::EmployeeBenefitBaseObjectDeductionReducesTaxableIncome] Whether the employee deduction reduces taxable income or not. Only valid for
|
88
|
+
# Group Term Life benefits. Note: when the value is not "unset", coverage amount
|
89
|
+
# and coverage salary multiplier are ignored.
|
90
|
+
# @param coverage_salary_multiplier [String] The coverage amount as a multiple of the employee’s salary. Only applicable for
|
91
|
+
# Group Term Life benefits. Note: cannot be set if coverage amount is also set.
|
92
|
+
# @param company_contribution [String] The amount to be paid, per pay period, by the company. This field will not
|
93
|
+
# appear for tiered contribution types.
|
94
|
+
# @param contribute_as_percentage [Boolean] Whether the company_contribution value should be treated as a percentage to be
|
95
|
+
# added to each payroll. This field will not appear for tiered contribution types.
|
96
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
97
|
+
# @return [Gusto::EmployeeBenefitBaseObject]
|
98
|
+
def initialize(version: OMIT, active: OMIT, employee_deduction: OMIT, deduct_as_percentage: OMIT, employee_deduction_annual_maximum: OMIT, contribution: OMIT, elective: OMIT, company_contribution_annual_maximum: OMIT, limit_option: OMIT, catch_up: OMIT, retirement_loan_identifier: OMIT, coverage_amount: OMIT, deduction_reduces_taxable_income: OMIT, coverage_salary_multiplier: OMIT, company_contribution: OMIT, contribute_as_percentage: OMIT, additional_properties: nil)
|
99
|
+
@version = version if version != OMIT
|
100
|
+
@active = active if active != OMIT
|
101
|
+
@employee_deduction = employee_deduction if employee_deduction != OMIT
|
102
|
+
@deduct_as_percentage = deduct_as_percentage if deduct_as_percentage != OMIT
|
103
|
+
@employee_deduction_annual_maximum = employee_deduction_annual_maximum if employee_deduction_annual_maximum != OMIT
|
104
|
+
@contribution = contribution if contribution != OMIT
|
105
|
+
@elective = elective if elective != OMIT
|
106
|
+
@company_contribution_annual_maximum = company_contribution_annual_maximum if company_contribution_annual_maximum != OMIT
|
107
|
+
@limit_option = limit_option if limit_option != OMIT
|
108
|
+
@catch_up = catch_up if catch_up != OMIT
|
109
|
+
@retirement_loan_identifier = retirement_loan_identifier if retirement_loan_identifier != OMIT
|
110
|
+
@coverage_amount = coverage_amount if coverage_amount != OMIT
|
111
|
+
@deduction_reduces_taxable_income = deduction_reduces_taxable_income if deduction_reduces_taxable_income != OMIT
|
112
|
+
@coverage_salary_multiplier = coverage_salary_multiplier if coverage_salary_multiplier != OMIT
|
113
|
+
@company_contribution = company_contribution if company_contribution != OMIT
|
114
|
+
@contribute_as_percentage = contribute_as_percentage if contribute_as_percentage != OMIT
|
115
|
+
@additional_properties = additional_properties
|
116
|
+
@_field_set = { "version": version, "active": active, "employee_deduction": employee_deduction, "deduct_as_percentage": deduct_as_percentage, "employee_deduction_annual_maximum": employee_deduction_annual_maximum, "contribution": contribution, "elective": elective, "company_contribution_annual_maximum": company_contribution_annual_maximum, "limit_option": limit_option, "catch_up": catch_up, "retirement_loan_identifier": retirement_loan_identifier, "coverage_amount": coverage_amount, "deduction_reduces_taxable_income": deduction_reduces_taxable_income, "coverage_salary_multiplier": coverage_salary_multiplier, "company_contribution": company_contribution, "contribute_as_percentage": contribute_as_percentage }.reject do | _k, v |
|
117
|
+
v == OMIT
|
118
|
+
end
|
119
|
+
end
|
120
|
+
# Deserialize a JSON object to an instance of EmployeeBenefitBaseObject
|
121
|
+
#
|
122
|
+
# @param json_object [String]
|
123
|
+
# @return [Gusto::EmployeeBenefitBaseObject]
|
124
|
+
def self.from_json(json_object:)
|
125
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
126
|
+
parsed_json = JSON.parse(json_object)
|
127
|
+
version = parsed_json["version"]
|
128
|
+
active = parsed_json["active"]
|
129
|
+
employee_deduction = parsed_json["employee_deduction"]
|
130
|
+
deduct_as_percentage = parsed_json["deduct_as_percentage"]
|
131
|
+
employee_deduction_annual_maximum = parsed_json["employee_deduction_annual_maximum"]
|
132
|
+
unless parsed_json["contribution"].nil?
|
133
|
+
contribution = parsed_json["contribution"].to_json
|
134
|
+
contribution = Gusto::EmployeeBenefitBaseObjectContribution.from_json(json_object: contribution)
|
135
|
+
else
|
136
|
+
contribution = nil
|
137
|
+
end
|
138
|
+
elective = parsed_json["elective"]
|
139
|
+
company_contribution_annual_maximum = parsed_json["company_contribution_annual_maximum"]
|
140
|
+
limit_option = parsed_json["limit_option"]
|
141
|
+
catch_up = parsed_json["catch_up"]
|
142
|
+
retirement_loan_identifier = parsed_json["retirement_loan_identifier"]
|
143
|
+
coverage_amount = parsed_json["coverage_amount"]
|
144
|
+
deduction_reduces_taxable_income = parsed_json["deduction_reduces_taxable_income"]
|
145
|
+
coverage_salary_multiplier = parsed_json["coverage_salary_multiplier"]
|
146
|
+
company_contribution = parsed_json["company_contribution"]
|
147
|
+
contribute_as_percentage = parsed_json["contribute_as_percentage"]
|
148
|
+
new(
|
149
|
+
version: version,
|
150
|
+
active: active,
|
151
|
+
employee_deduction: employee_deduction,
|
152
|
+
deduct_as_percentage: deduct_as_percentage,
|
153
|
+
employee_deduction_annual_maximum: employee_deduction_annual_maximum,
|
154
|
+
contribution: contribution,
|
155
|
+
elective: elective,
|
156
|
+
company_contribution_annual_maximum: company_contribution_annual_maximum,
|
157
|
+
limit_option: limit_option,
|
158
|
+
catch_up: catch_up,
|
159
|
+
retirement_loan_identifier: retirement_loan_identifier,
|
160
|
+
coverage_amount: coverage_amount,
|
161
|
+
deduction_reduces_taxable_income: deduction_reduces_taxable_income,
|
162
|
+
coverage_salary_multiplier: coverage_salary_multiplier,
|
163
|
+
company_contribution: company_contribution,
|
164
|
+
contribute_as_percentage: contribute_as_percentage,
|
165
|
+
additional_properties: struct
|
166
|
+
)
|
167
|
+
end
|
168
|
+
# Serialize an instance of EmployeeBenefitBaseObject to a JSON object
|
169
|
+
#
|
170
|
+
# @return [String]
|
171
|
+
def to_json
|
172
|
+
@_field_set&.to_json
|
173
|
+
end
|
174
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
175
|
+
# hash and check each fields type against the current object's property
|
176
|
+
# definitions.
|
177
|
+
#
|
178
|
+
# @param obj [Object]
|
179
|
+
# @return [Void]
|
180
|
+
def self.validate_raw(obj:)
|
181
|
+
obj.version&.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
|
182
|
+
obj.active&.is_a?(Boolean) != false || raise("Passed value for field obj.active is not the expected type, validation failed.")
|
183
|
+
obj.employee_deduction&.is_a?(String) != false || raise("Passed value for field obj.employee_deduction is not the expected type, validation failed.")
|
184
|
+
obj.deduct_as_percentage&.is_a?(Boolean) != false || raise("Passed value for field obj.deduct_as_percentage is not the expected type, validation failed.")
|
185
|
+
obj.employee_deduction_annual_maximum&.is_a?(String) != false || raise("Passed value for field obj.employee_deduction_annual_maximum is not the expected type, validation failed.")
|
186
|
+
obj.contribution.nil? || Gusto::EmployeeBenefitBaseObjectContribution.validate_raw(obj: obj.contribution)
|
187
|
+
obj.elective&.is_a?(Boolean) != false || raise("Passed value for field obj.elective is not the expected type, validation failed.")
|
188
|
+
obj.company_contribution_annual_maximum&.is_a?(String) != false || raise("Passed value for field obj.company_contribution_annual_maximum is not the expected type, validation failed.")
|
189
|
+
obj.limit_option&.is_a?(String) != false || raise("Passed value for field obj.limit_option is not the expected type, validation failed.")
|
190
|
+
obj.catch_up&.is_a?(Boolean) != false || raise("Passed value for field obj.catch_up is not the expected type, validation failed.")
|
191
|
+
obj.retirement_loan_identifier&.is_a?(String) != false || raise("Passed value for field obj.retirement_loan_identifier is not the expected type, validation failed.")
|
192
|
+
obj.coverage_amount&.is_a?(String) != false || raise("Passed value for field obj.coverage_amount is not the expected type, validation failed.")
|
193
|
+
obj.deduction_reduces_taxable_income&.is_a?(Gusto::EmployeeBenefitBaseObjectDeductionReducesTaxableIncome) != false || raise("Passed value for field obj.deduction_reduces_taxable_income is not the expected type, validation failed.")
|
194
|
+
obj.coverage_salary_multiplier&.is_a?(String) != false || raise("Passed value for field obj.coverage_salary_multiplier is not the expected type, validation failed.")
|
195
|
+
obj.company_contribution&.is_a?(String) != false || raise("Passed value for field obj.company_contribution is not the expected type, validation failed.")
|
196
|
+
obj.contribute_as_percentage&.is_a?(Boolean) != false || raise("Passed value for field obj.contribute_as_percentage is not the expected type, validation failed.")
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "employee_benefit_base_object_contribution_value"
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Gusto
|
7
|
+
# An object representing the type and value of the company contribution.
|
8
|
+
class EmployeeBenefitBaseObjectContribution
|
9
|
+
# @return [String] The company contribution scheme.
|
10
|
+
# "amount": The company contributes a fixed amount per payroll. If elective is
|
11
|
+
# true, the contribution is matching, dollar-for-dollar.
|
12
|
+
# "percentage": The company contributes a percentage of the payroll amount per
|
13
|
+
# payroll period. If elective is true, the contribution is matching,
|
14
|
+
# dollar-for-dollar.
|
15
|
+
# "tiered": The company contribution varies according to the size of the employee
|
16
|
+
# deduction.
|
17
|
+
attr_reader :type
|
18
|
+
# @return [Gusto::EmployeeBenefitBaseObjectContributionValue] For the `amount` and `percentage` contribution types, the value of the
|
19
|
+
# corresponding amount or percentage.
|
20
|
+
# For the `tiered` contribution type, an array of tiers.
|
21
|
+
attr_reader :value
|
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 type [String] The company contribution scheme.
|
31
|
+
# "amount": The company contributes a fixed amount per payroll. If elective is
|
32
|
+
# true, the contribution is matching, dollar-for-dollar.
|
33
|
+
# "percentage": The company contributes a percentage of the payroll amount per
|
34
|
+
# payroll period. If elective is true, the contribution is matching,
|
35
|
+
# dollar-for-dollar.
|
36
|
+
# "tiered": The company contribution varies according to the size of the employee
|
37
|
+
# deduction.
|
38
|
+
# @param value [Gusto::EmployeeBenefitBaseObjectContributionValue] For the `amount` and `percentage` contribution types, the value of the
|
39
|
+
# corresponding amount or percentage.
|
40
|
+
# For the `tiered` contribution type, an array of tiers.
|
41
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
42
|
+
# @return [Gusto::EmployeeBenefitBaseObjectContribution]
|
43
|
+
def initialize(type: OMIT, value: OMIT, additional_properties: nil)
|
44
|
+
@type = type if type != OMIT
|
45
|
+
@value = value if value != OMIT
|
46
|
+
@additional_properties = additional_properties
|
47
|
+
@_field_set = { "type": type, "value": value }.reject do | _k, v |
|
48
|
+
v == OMIT
|
49
|
+
end
|
50
|
+
end
|
51
|
+
# Deserialize a JSON object to an instance of
|
52
|
+
# EmployeeBenefitBaseObjectContribution
|
53
|
+
#
|
54
|
+
# @param json_object [String]
|
55
|
+
# @return [Gusto::EmployeeBenefitBaseObjectContribution]
|
56
|
+
def self.from_json(json_object:)
|
57
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
58
|
+
parsed_json = JSON.parse(json_object)
|
59
|
+
type = parsed_json["type"]
|
60
|
+
unless parsed_json["value"].nil?
|
61
|
+
value = parsed_json["value"].to_json
|
62
|
+
value = Gusto::EmployeeBenefitBaseObjectContributionValue.from_json(json_object: value)
|
63
|
+
else
|
64
|
+
value = nil
|
65
|
+
end
|
66
|
+
new(
|
67
|
+
type: type,
|
68
|
+
value: value,
|
69
|
+
additional_properties: struct
|
70
|
+
)
|
71
|
+
end
|
72
|
+
# Serialize an instance of EmployeeBenefitBaseObjectContribution to a JSON object
|
73
|
+
#
|
74
|
+
# @return [String]
|
75
|
+
def to_json
|
76
|
+
@_field_set&.to_json
|
77
|
+
end
|
78
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
79
|
+
# hash and check each fields type against the current object's property
|
80
|
+
# definitions.
|
81
|
+
#
|
82
|
+
# @param obj [Object]
|
83
|
+
# @return [Void]
|
84
|
+
def self.validate_raw(obj:)
|
85
|
+
obj.type&.is_a?(String) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
|
86
|
+
obj.value.nil? || Gusto::EmployeeBenefitBaseObjectContributionValue.validate_raw(obj: obj.value)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|