From f365e164984a15deeb545bc07ab8a85373d840ea Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 8 May 2025 21:11:44 +0000 Subject: [PATCH 01/12] chore(internal): version bump --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f5af4e69..cfeb6cb0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - finch-api (0.1.0.pre.alpha.15) + finch-api (0.1.0.pre.alpha.16) connection_pool GEM From beb18c85b5edba3d056d5d480f9fc4d19ea751a4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 18:07:41 +0000 Subject: [PATCH 02/12] feat: support sorbet aliases at the runtime --- lib/finch_api/internal.rb | 6 + .../internal/transport/base_client.rb | 47 ++++ .../transport/pooled_net_requester.rb | 14 ++ lib/finch_api/internal/type/array_of.rb | 2 +- lib/finch_api/internal/type/base_model.rb | 21 +- lib/finch_api/internal/type/converter.rb | 18 ++ lib/finch_api/internal/type/enum.rb | 1 + lib/finch_api/internal/type/hash_of.rb | 2 +- lib/finch_api/internal/type/union.rb | 1 + lib/finch_api/internal/util.rb | 56 +++++ lib/finch_api/models.rb | 27 +++ .../models/hris/document_retreive_response.rb | 4 + lib/finch_api/models/hris/employment_data.rb | 10 + lib/finch_api/models/hris/individual.rb | 6 + lib/finch_api/models/webhook_event.rb | 15 ++ lib/finch_api/request_options.rb | 4 + rbi/finch_api/errors.rbi | 2 +- rbi/finch_api/internal.rbi | 2 + .../internal/transport/base_client.rbi | 26 +-- .../transport/pooled_net_requester.rbi | 9 +- rbi/finch_api/internal/type/base_model.rbi | 19 +- rbi/finch_api/internal/type/base_page.rbi | 3 +- rbi/finch_api/internal/type/converter.rbi | 2 + rbi/finch_api/internal/type/enum.rbi | 1 + rbi/finch_api/internal/type/union.rbi | 1 + rbi/finch_api/internal/util.rbi | 33 ++- .../models/access_token_create_params.rbi | 5 +- .../models/account_disconnect_params.rbi | 5 +- .../models/account_introspect_params.rbi | 5 +- rbi/finch_api/models/account_update_event.rbi | 190 +++++++++++++--- rbi/finch_api/models/base_webhook_event.rbi | 5 +- rbi/finch_api/models/company_event.rbi | 5 +- .../models/connect/session_new_params.rbi | 14 +- .../models/connect/session_new_response.rbi | 7 +- .../connect/session_reauthenticate_params.rbi | 7 +- .../session_reauthenticate_response.rbi | 7 +- .../models/create_access_token_response.rbi | 8 +- rbi/finch_api/models/directory_event.rbi | 9 +- rbi/finch_api/models/disconnect_response.rbi | 5 +- rbi/finch_api/models/employment_event.rbi | 9 +- .../models/hris/benefit_contribution.rbi | 7 +- .../models/hris/benefit_create_params.rbi | 21 +- .../hris/benefit_features_and_operations.rbi | 14 +- .../models/hris/benefit_list_params.rbi | 7 +- ...benefit_list_supported_benefits_params.rbi | 7 +- ...nefit_list_supported_benefits_response.rbi | 7 +- .../models/hris/benefit_retrieve_params.rbi | 7 +- .../models/hris/benefit_update_params.rbi | 7 +- .../enrolled_individual_benefit_response.rbi | 7 +- .../hris/benefits/individual_benefit.rbi | 14 +- .../individual_enroll_many_params.rbi | 31 ++- .../individual_enrolled_ids_params.rbi | 7 +- .../individual_enrolled_ids_response.rbi | 7 +- ...dividual_retrieve_many_benefits_params.rbi | 7 +- .../individual_unenroll_many_params.rbi | 7 +- ...unenrolled_individual_benefit_response.rbi | 7 +- .../models/hris/benefits_support.rbi | 4 +- rbi/finch_api/models/hris/company.rbi | 32 ++- .../pay_statement_item/rule_create_params.rbi | 21 +- .../rule_create_response.rbi | 21 +- .../pay_statement_item/rule_delete_params.rbi | 7 +- .../rule_delete_response.rbi | 21 +- .../pay_statement_item/rule_list_params.rbi | 7 +- .../pay_statement_item/rule_list_response.rbi | 21 +- .../pay_statement_item/rule_update_params.rbi | 7 +- .../rule_update_response.rbi | 21 +- .../pay_statement_item_list_params.rbi | 7 +- .../pay_statement_item_list_response.rbi | 14 +- rbi/finch_api/models/hris/company_benefit.rbi | 18 +- .../models/hris/company_retrieve_params.rbi | 7 +- .../hris/create_company_benefits_response.rbi | 7 +- .../directory_list_individuals_params.rbi | 7 +- .../models/hris/directory_list_params.rbi | 7 +- .../models/hris/document_list_params.rbi | 7 +- .../models/hris/document_list_response.rbi | 7 +- .../models/hris/document_response.rbi | 4 +- .../models/hris/document_retreive_params.rbi | 7 +- rbi/finch_api/models/hris/employment_data.rbi | 42 +++- .../models/hris/employment_data_response.rbi | 7 +- .../hris/employment_retrieve_many_params.rbi | 14 +- rbi/finch_api/models/hris/individual.rbi | 28 ++- .../models/hris/individual_in_directory.rbi | 21 +- .../models/hris/individual_response.rbi | 7 +- .../hris/individual_retrieve_many_params.rbi | 21 +- rbi/finch_api/models/hris/pay_statement.rbi | 88 +++++-- .../models/hris/pay_statement_response.rbi | 7 +- .../hris/pay_statement_response_body.rbi | 7 +- .../pay_statement_retrieve_many_params.rbi | 14 +- rbi/finch_api/models/hris/payment.rbi | 11 +- .../models/hris/payment_list_params.rbi | 7 +- .../models/hris/support_per_benefit_type.rbi | 7 +- .../models/hris/supported_benefit.rbi | 4 +- .../hris/update_company_benefit_response.rbi | 7 +- rbi/finch_api/models/hris/w42005.rbi | 8 +- rbi/finch_api/models/hris/w42020.rbi | 8 +- rbi/finch_api/models/income.rbi | 3 +- rbi/finch_api/models/individual_event.rbi | 9 +- rbi/finch_api/models/introspection.rbi | 26 ++- rbi/finch_api/models/job_completion_event.rbi | 12 +- .../models/jobs/automated_async_job.rbi | 14 +- .../models/jobs/automated_create_params.rbi | 14 +- .../models/jobs/automated_create_response.rbi | 7 +- .../models/jobs/automated_list_params.rbi | 7 +- .../models/jobs/automated_list_response.rbi | 28 ++- .../models/jobs/automated_retrieve_params.rbi | 7 +- .../models/jobs/manual_async_job.rbi | 4 +- .../models/jobs/manual_retrieve_params.rbi | 7 +- rbi/finch_api/models/location.rbi | 3 +- rbi/finch_api/models/money.rbi | 3 +- .../models/operation_support_matrix.rbi | 5 +- rbi/finch_api/models/paging.rbi | 3 +- rbi/finch_api/models/pay_statement_event.rbi | 12 +- rbi/finch_api/models/payment_event.rbi | 9 +- .../models/payroll/pay_group_list_params.rbi | 7 +- .../payroll/pay_group_list_response.rbi | 7 +- .../payroll/pay_group_retrieve_params.rbi | 7 +- .../payroll/pay_group_retrieve_response.rbi | 7 +- rbi/finch_api/models/provider.rbi | 215 +++++++++++++++--- rbi/finch_api/models/provider_list_params.rbi | 5 +- .../request_forwarding_forward_params.rbi | 8 +- .../request_forwarding_forward_response.rbi | 15 +- .../models/sandbox/company_update_params.rbi | 35 ++- .../sandbox/company_update_response.rbi | 35 ++- .../sandbox/connection_create_params.rbi | 7 +- .../sandbox/connection_create_response.rbi | 7 +- .../connections/account_create_params.rbi | 7 +- .../connections/account_create_response.rbi | 7 +- .../connections/account_update_params.rbi | 7 +- .../connections/account_update_response.rbi | 7 +- .../sandbox/directory_create_params.rbi | 56 ++++- .../sandbox/employment_update_params.rbi | 35 ++- .../sandbox/employment_update_response.rbi | 35 ++- .../sandbox/individual_update_params.rbi | 21 +- .../sandbox/individual_update_response.rbi | 21 +- .../models/sandbox/job_create_params.rbi | 7 +- .../models/sandbox/job_create_response.rbi | 7 +- .../jobs/configuration_retrieve_params.rbi | 7 +- .../jobs/configuration_update_params.rbi | 7 +- .../jobs/sandbox_job_configuration.rbi | 7 +- .../models/sandbox/payment_create_params.rbi | 90 ++++++-- .../sandbox/payment_create_response.rbi | 7 +- rbi/finch_api/request_options.rbi | 5 +- sig/finch_api/internal.rbs | 2 + .../internal/transport/base_client.rbs | 3 +- .../transport/pooled_net_requester.rbs | 2 + sig/finch_api/internal/type/array_of.rbs | 2 +- sig/finch_api/internal/type/base_model.rbs | 7 +- sig/finch_api/internal/type/converter.rbs | 2 + sig/finch_api/internal/type/enum.rbs | 1 + sig/finch_api/internal/type/hash_of.rbs | 2 +- sig/finch_api/internal/type/union.rbs | 1 + sig/finch_api/internal/util.rbs | 13 ++ test/finch_api/client_test.rb | 7 +- .../internal/sorbet_runtime_support_test.rb | 49 ++++ test/finch_api/test_helper.rb | 6 + 155 files changed, 1956 insertions(+), 341 deletions(-) create mode 100644 test/finch_api/internal/sorbet_runtime_support_test.rb diff --git a/lib/finch_api/internal.rb b/lib/finch_api/internal.rb index ccc805f6..2fb38522 100644 --- a/lib/finch_api/internal.rb +++ b/lib/finch_api/internal.rb @@ -2,10 +2,16 @@ module FinchAPI module Internal + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + OMIT = Object.new.tap do _1.define_singleton_method(:inspect) { "#<#{FinchAPI::Internal}::OMIT>" } end .freeze + + define_sorbet_constant!(:AnyHash) do + T.type_alias { T::Hash[Symbol, T.anything] } + end end end diff --git a/lib/finch_api/internal/transport/base_client.rb b/lib/finch_api/internal/transport/base_client.rb index 8b715cfa..4eba1f28 100644 --- a/lib/finch_api/internal/transport/base_client.rb +++ b/lib/finch_api/internal/transport/base_client.rb @@ -7,6 +7,8 @@ module Transport # # @abstract class BaseClient + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + # from whatwg fetch spec MAX_REDIRECTS = 20 @@ -477,6 +479,51 @@ def inspect "#<#{self.class.name}:0x#{object_id.to_s(16)} base_url=#{base_url} max_retries=#{@max_retries} timeout=#{@timeout}>" # rubocop:enable Layout/LineLength end + + define_sorbet_constant!(:RequestComponents) do + T.type_alias do + { + method: Symbol, + path: T.any(String, T::Array[String]), + query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]), + headers: T.nilable( + T::Hash[String, + T.nilable( + T.any( + String, + Integer, + T::Array[T.nilable(T.any(String, Integer))] + ) + )] + ), + body: T.nilable(T.anything), + unwrap: T.nilable( + T.any( + Symbol, + Integer, + T::Array[T.any(Symbol, Integer)], + T.proc.params(arg0: T.anything).returns(T.anything) + ) + ), + page: T.nilable(T::Class[FinchAPI::Internal::Type::BasePage[FinchAPI::Internal::Type::BaseModel]]), + stream: T.nilable(T::Class[T.anything]), + model: T.nilable(FinchAPI::Internal::Type::Converter::Input), + options: T.nilable(FinchAPI::RequestOptions::OrHash) + } + end + end + define_sorbet_constant!(:RequestInput) do + T.type_alias do + { + method: Symbol, + url: URI::Generic, + headers: T::Hash[String, String], + body: T.anything, + max_retries: Integer, + timeout: Float + } + end + end end end end diff --git a/lib/finch_api/internal/transport/pooled_net_requester.rb b/lib/finch_api/internal/transport/pooled_net_requester.rb index 82763091..4d0a05f6 100644 --- a/lib/finch_api/internal/transport/pooled_net_requester.rb +++ b/lib/finch_api/internal/transport/pooled_net_requester.rb @@ -5,6 +5,8 @@ module Internal module Transport # @api private class PooledNetRequester + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + # from the golang stdlib # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49 KEEP_ALIVE_TIMEOUT = 30 @@ -187,6 +189,18 @@ def initialize(size: Etc.nprocessors) @size = size @pools = {} end + + define_sorbet_constant!(:Request) do + T.type_alias do + { + method: Symbol, + url: URI::Generic, + headers: T::Hash[String, String], + body: T.anything, + deadline: Float + } + end + end end end end diff --git a/lib/finch_api/internal/type/array_of.rb b/lib/finch_api/internal/type/array_of.rb index aa6d250e..f789f438 100644 --- a/lib/finch_api/internal/type/array_of.rb +++ b/lib/finch_api/internal/type/array_of.rb @@ -29,7 +29,7 @@ class ArrayOf # # @option spec [Boolean] :"nil?" # - # @return [FinchAPI::Internal::Type::ArrayOf] + # @return [self] def self.[](...) = new(...) # @api public diff --git a/lib/finch_api/internal/type/base_model.rb b/lib/finch_api/internal/type/base_model.rb index 66b9e378..6ca8eddb 100644 --- a/lib/finch_api/internal/type/base_model.rb +++ b/lib/finch_api/internal/type/base_model.rb @@ -6,6 +6,7 @@ module Type # @abstract class BaseModel extend FinchAPI::Internal::Type::Converter + extend FinchAPI::Internal::Util::SorbetRuntimeSupport class << self # @api private @@ -13,11 +14,17 @@ class << self # Assumes superclass fields are totally defined before fields are accessed / # defined on subclasses. # - # @return [Hash{Symbol=>Hash{Symbol=>Object}}] - def known_fields - @known_fields ||= (self < FinchAPI::Internal::Type::BaseModel ? superclass.known_fields.dup : {}) + # @param child [Class] + def inherited(child) + super + child.known_fields.replace(known_fields.dup) end + # @api private + # + # @return [Hash{Symbol=>Hash{Symbol=>Object}}] + def known_fields = @known_fields ||= {} + # @api private # # @return [Hash{Symbol=>Hash{Symbol=>Object}}] @@ -206,7 +213,7 @@ class << self # # @option state [Integer] :branched # - # @return [FinchAPI::Internal::Type::BaseModel, Object] + # @return [self, Object] def coerce(value, state:) exactness = state.fetch(:exactness) @@ -265,7 +272,7 @@ def coerce(value, state:) # @api private # - # @param value [FinchAPI::Internal::Type::BaseModel, Object] + # @param value [self, Object] # # @param state [Hash{Symbol=>Object}] . # @@ -431,6 +438,10 @@ def to_s = self.class.walk(@data).to_s # # @return [String] def inspect = "#<#{self.class}:0x#{object_id.to_s(16)} #{self}>" + + define_sorbet_constant!(:KnownField) do + T.type_alias { {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean} } + end end end end diff --git a/lib/finch_api/internal/type/converter.rb b/lib/finch_api/internal/type/converter.rb index 4cfcd47f..4c9a4bbc 100644 --- a/lib/finch_api/internal/type/converter.rb +++ b/lib/finch_api/internal/type/converter.rb @@ -5,6 +5,8 @@ module Internal module Type # @api private module Converter + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + # rubocop:disable Lint/UnusedMethodArgument # @api private @@ -268,6 +270,22 @@ def inspect(target, depth:) end end end + + define_sorbet_constant!(:Input) do + T.type_alias { T.any(FinchAPI::Internal::Type::Converter, T::Class[T.anything]) } + end + define_sorbet_constant!(:CoerceState) do + T.type_alias do + { + strictness: T.any(T::Boolean, Symbol), + exactness: {yes: Integer, no: Integer, maybe: Integer}, + branched: Integer + } + end + end + define_sorbet_constant!(:DumpState) do + T.type_alias { {can_retry: T::Boolean} } + end end end end diff --git a/lib/finch_api/internal/type/enum.rb b/lib/finch_api/internal/type/enum.rb index 830a9ad6..b723326c 100644 --- a/lib/finch_api/internal/type/enum.rb +++ b/lib/finch_api/internal/type/enum.rb @@ -42,6 +42,7 @@ module Type # end module Enum include FinchAPI::Internal::Type::Converter + include FinchAPI::Internal::Util::SorbetRuntimeSupport # All of the valid Symbol values for this enum. # diff --git a/lib/finch_api/internal/type/hash_of.rb b/lib/finch_api/internal/type/hash_of.rb index 12c62224..76d4cc95 100644 --- a/lib/finch_api/internal/type/hash_of.rb +++ b/lib/finch_api/internal/type/hash_of.rb @@ -29,7 +29,7 @@ class HashOf # # @option spec [Boolean] :"nil?" # - # @return [FinchAPI::Internal::Type::HashOf] + # @return [self] def self.[](...) = new(...) # @api public diff --git a/lib/finch_api/internal/type/union.rb b/lib/finch_api/internal/type/union.rb index 2a39afe8..6b75e69b 100644 --- a/lib/finch_api/internal/type/union.rb +++ b/lib/finch_api/internal/type/union.rb @@ -27,6 +27,7 @@ module Type # end module Union include FinchAPI::Internal::Type::Converter + include FinchAPI::Internal::Util::SorbetRuntimeSupport # @api private # diff --git a/lib/finch_api/internal/util.rb b/lib/finch_api/internal/util.rb index 0e621b04..01504163 100644 --- a/lib/finch_api/internal/util.rb +++ b/lib/finch_api/internal/util.rb @@ -801,6 +801,62 @@ def decode_sse(lines) end end end + + # @api private + module SorbetRuntimeSupport + class MissingSorbetRuntimeError < ::RuntimeError + end + + # @api private + # + # @return [Hash{Symbol=>Object}] + private def sorbet_runtime_constants = @sorbet_runtime_constants ||= {} + + # @api private + # + # @param name [Symbol] + def const_missing(name) + super unless sorbet_runtime_constants.key?(name) + + unless Object.const_defined?(:T) + message = "Trying to access a Sorbet constant #{name.inspect} without `sorbet-runtime`." + raise MissingSorbetRuntimeError.new(message) + end + + sorbet_runtime_constants.fetch(name).call + end + + # @api private + # + # @param name [Symbol] + # @param blk [Proc] + def define_sorbet_constant!(name, &blk) = sorbet_runtime_constants.store(name, blk) + end + + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + + define_sorbet_constant!(:ParsedUri) do + T.type_alias do + { + scheme: T.nilable(String), + host: T.nilable(String), + port: T.nilable(Integer), + path: T.nilable(String), + query: T::Hash[String, T::Array[String]] + } + end + end + + define_sorbet_constant!(:ServerSentEvent) do + T.type_alias do + { + event: T.nilable(String), + data: T.nilable(String), + id: T.nilable(String), + retry: T.nilable(Integer) + } + end + end end end end diff --git a/lib/finch_api/models.rb b/lib/finch_api/models.rb index 24688159..70bdd0f5 100644 --- a/lib/finch_api/models.rb +++ b/lib/finch_api/models.rb @@ -1,6 +1,33 @@ # frozen_string_literal: true module FinchAPI + [FinchAPI::Internal::Type::BaseModel, *FinchAPI::Internal::Type::BaseModel.subclasses].each do |cls| + cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, FinchAPI::Internal::AnyHash) } } + end + + [ + *FinchAPI::Internal::Type::Enum.included_modules, + *FinchAPI::Internal::Type::Union.included_modules + ].each do |cls| + cls.constants.each do |name| + case cls.const_get(name) + in true | false + cls.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T.all(T::Boolean, cls) } } + cls.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } } + in Integer + cls.define_sorbet_constant!(:TaggedInteger) { T.type_alias { T.all(Integer, cls) } } + cls.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } } + in Float + cls.define_sorbet_constant!(:TaggedFloat) { T.type_alias { T.all(Float, cls) } } + cls.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } } + in Symbol + cls.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { T.all(Symbol, cls) } } + cls.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } } + else + end + end + end + AccessTokenCreateParams = FinchAPI::Models::AccessTokenCreateParams AccountDisconnectParams = FinchAPI::Models::AccountDisconnectParams diff --git a/lib/finch_api/models/hris/document_retreive_response.rb b/lib/finch_api/models/hris/document_retreive_response.rb index 8b657bd6..7c63e79b 100644 --- a/lib/finch_api/models/hris/document_retreive_response.rb +++ b/lib/finch_api/models/hris/document_retreive_response.rb @@ -20,6 +20,10 @@ module DocumentRetreiveResponse # @!method self.variants # @return [Array(FinchAPI::HRIS::W42020, FinchAPI::HRIS::W42005)] + + define_sorbet_constant!(:Variants) do + T.type_alias { T.any(FinchAPI::HRIS::W42020, FinchAPI::HRIS::W42005) } + end end end end diff --git a/lib/finch_api/models/hris/employment_data.rb b/lib/finch_api/models/hris/employment_data.rb index 54db06b8..d04898ec 100644 --- a/lib/finch_api/models/hris/employment_data.rb +++ b/lib/finch_api/models/hris/employment_data.rb @@ -221,6 +221,10 @@ module Value # @!method self.variants # @return [Array(String, Array, Object, Float, Boolean)] + define_sorbet_constant!(:Variants) do + T.type_alias { T.any(String, T::Array[T.anything], T.anything, Float, T::Boolean) } + end + # @type [FinchAPI::Internal::Type::Converter] UnionMember1Array = FinchAPI::Internal::Type::ArrayOf[FinchAPI::Internal::Type::Unknown] end @@ -367,6 +371,12 @@ class BatchError < FinchAPI::Internal::Type::BaseModel # @!method self.variants # @return [Array(FinchAPI::HRIS::EmploymentData::UnionMember0, FinchAPI::HRIS::EmploymentData::BatchError)] + + define_sorbet_constant!(:Variants) do + T.type_alias do + T.any(FinchAPI::HRIS::EmploymentData::UnionMember0, FinchAPI::HRIS::EmploymentData::BatchError) + end + end end end end diff --git a/lib/finch_api/models/hris/individual.rb b/lib/finch_api/models/hris/individual.rb index 1f32edba..fece92d1 100644 --- a/lib/finch_api/models/hris/individual.rb +++ b/lib/finch_api/models/hris/individual.rb @@ -250,6 +250,12 @@ class BatchError < FinchAPI::Internal::Type::BaseModel # @!method self.variants # @return [Array(FinchAPI::HRIS::Individual::UnionMember0, FinchAPI::HRIS::Individual::BatchError)] + + define_sorbet_constant!(:Variants) do + T.type_alias do + T.any(FinchAPI::HRIS::Individual::UnionMember0, FinchAPI::HRIS::Individual::BatchError) + end + end end end end diff --git a/lib/finch_api/models/webhook_event.rb b/lib/finch_api/models/webhook_event.rb index 7273c7e9..981273f6 100644 --- a/lib/finch_api/models/webhook_event.rb +++ b/lib/finch_api/models/webhook_event.rb @@ -25,6 +25,21 @@ module WebhookEvent # @!method self.variants # @return [Array(FinchAPI::AccountUpdateEvent, FinchAPI::CompanyEvent, FinchAPI::JobCompletionEvent, FinchAPI::DirectoryEvent, FinchAPI::EmploymentEvent, FinchAPI::IndividualEvent, FinchAPI::PaymentEvent, FinchAPI::PayStatementEvent)] + + define_sorbet_constant!(:Variants) do + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent, + FinchAPI::CompanyEvent, + FinchAPI::JobCompletionEvent, + FinchAPI::DirectoryEvent, + FinchAPI::EmploymentEvent, + FinchAPI::IndividualEvent, + FinchAPI::PaymentEvent, + FinchAPI::PayStatementEvent + ) + end + end end end end diff --git a/lib/finch_api/request_options.rb b/lib/finch_api/request_options.rb index 31804441..c09feacc 100644 --- a/lib/finch_api/request_options.rb +++ b/lib/finch_api/request_options.rb @@ -69,5 +69,9 @@ def self.validate!(opts) # Returns a new instance of RequestOptions. # # @param values [Hash{Symbol=>Object}] + + define_sorbet_constant!(:OrHash) do + T.type_alias { T.any(FinchAPI::RequestOptions, FinchAPI::Internal::AnyHash) } + end end end diff --git a/rbi/finch_api/errors.rbi b/rbi/finch_api/errors.rbi index 205195c6..fd62d810 100644 --- a/rbi/finch_api/errors.rbi +++ b/rbi/finch_api/errors.rbi @@ -104,7 +104,7 @@ module FinchAPI request: NilClass, response: NilClass, message: T.nilable(String) - ).returns(T.attached_class) + ).returns(T.self_type) end def self.for(url:, status:, body:, request:, response:, message: nil) end diff --git a/rbi/finch_api/internal.rbi b/rbi/finch_api/internal.rbi index 1ee4ba64..c6af6ce1 100644 --- a/rbi/finch_api/internal.rbi +++ b/rbi/finch_api/internal.rbi @@ -2,6 +2,8 @@ module FinchAPI module Internal + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + # Due to the current WIP status of Shapes support in Sorbet, types referencing # this alias might be refined in the future. AnyHash = T.type_alias { T::Hash[Symbol, T.anything] } diff --git a/rbi/finch_api/internal/transport/base_client.rbi b/rbi/finch_api/internal/transport/base_client.rbi index 176c8f89..c0d4f242 100644 --- a/rbi/finch_api/internal/transport/base_client.rbi +++ b/rbi/finch_api/internal/transport/base_client.rbi @@ -5,9 +5,11 @@ module FinchAPI module Transport # @api private class BaseClient + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + abstract! - RequestComponentsShape = + RequestComponents = T.type_alias do { method: Symbol, @@ -53,7 +55,7 @@ module FinchAPI } end - RequestInputShape = + RequestInput = T.type_alias do { method: Symbol, @@ -74,8 +76,7 @@ module FinchAPI # @api private sig do params( - req: - FinchAPI::Internal::Transport::BaseClient::RequestComponentsShape + req: FinchAPI::Internal::Transport::BaseClient::RequestComponents ).void end def validate!(req) @@ -94,13 +95,10 @@ module FinchAPI # @api private sig do params( - request: - FinchAPI::Internal::Transport::BaseClient::RequestInputShape, + request: FinchAPI::Internal::Transport::BaseClient::RequestInput, status: Integer, response_headers: T.any(T::Hash[String, String], Net::HTTPHeader) - ).returns( - FinchAPI::Internal::Transport::BaseClient::RequestInputShape - ) + ).returns(FinchAPI::Internal::Transport::BaseClient::RequestInput) end def follow_redirect(request, status:, response_headers:) end @@ -167,13 +165,10 @@ module FinchAPI sig do overridable .params( - req: - FinchAPI::Internal::Transport::BaseClient::RequestComponentsShape, + req: FinchAPI::Internal::Transport::BaseClient::RequestComponents, opts: FinchAPI::Internal::AnyHash ) - .returns( - FinchAPI::Internal::Transport::BaseClient::RequestInputShape - ) + .returns(FinchAPI::Internal::Transport::BaseClient::RequestInput) end private def build_request(req, opts) end @@ -191,8 +186,7 @@ module FinchAPI # @api private sig do params( - request: - FinchAPI::Internal::Transport::BaseClient::RequestInputShape, + request: FinchAPI::Internal::Transport::BaseClient::RequestInput, redirect_count: Integer, retry_count: Integer, send_retry_header: T::Boolean diff --git a/rbi/finch_api/internal/transport/pooled_net_requester.rbi b/rbi/finch_api/internal/transport/pooled_net_requester.rbi index c44047ea..0e68c968 100644 --- a/rbi/finch_api/internal/transport/pooled_net_requester.rbi +++ b/rbi/finch_api/internal/transport/pooled_net_requester.rbi @@ -5,7 +5,9 @@ module FinchAPI module Transport # @api private class PooledNetRequester - RequestShape = + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + + Request = T.type_alias do { method: Symbol, @@ -35,7 +37,7 @@ module FinchAPI sig do params( request: - FinchAPI::Internal::Transport::PooledNetRequester::RequestShape, + FinchAPI::Internal::Transport::PooledNetRequester::Request, blk: T.proc.params(arg0: String).void ).returns([Net::HTTPGenericRequest, T.proc.void]) end @@ -57,8 +59,7 @@ module FinchAPI # @api private sig do params( - request: - FinchAPI::Internal::Transport::PooledNetRequester::RequestShape + request: FinchAPI::Internal::Transport::PooledNetRequester::Request ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]]) end def execute(request) diff --git a/rbi/finch_api/internal/type/base_model.rbi b/rbi/finch_api/internal/type/base_model.rbi index 8c2a8f6f..8679cdb0 100644 --- a/rbi/finch_api/internal/type/base_model.rbi +++ b/rbi/finch_api/internal/type/base_model.rbi @@ -5,10 +5,11 @@ module FinchAPI module Type class BaseModel extend FinchAPI::Internal::Type::Converter + extend FinchAPI::Internal::Util::SorbetRuntimeSupport abstract! - KnownFieldShape = + KnownField = T.type_alias do { mode: T.nilable(Symbol), @@ -18,19 +19,29 @@ module FinchAPI end OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Internal::Type::BaseModel, + FinchAPI::Internal::AnyHash + ) + end class << self # @api private # # Assumes superclass fields are totally defined before fields are accessed / # defined on subclasses. + sig { params(child: T.self_type).void } + def inherited(child) + end + + # @api private sig do returns( T::Hash[ Symbol, T.all( - FinchAPI::Internal::Type::BaseModel::KnownFieldShape, + FinchAPI::Internal::Type::BaseModel::KnownField, { type_fn: T.proc.returns(FinchAPI::Internal::Type::Converter::Input) @@ -48,7 +59,7 @@ module FinchAPI T::Hash[ Symbol, T.all( - FinchAPI::Internal::Type::BaseModel::KnownFieldShape, + FinchAPI::Internal::Type::BaseModel::KnownField, { type: FinchAPI::Internal::Type::Converter::Input } ) ] diff --git a/rbi/finch_api/internal/type/base_page.rbi b/rbi/finch_api/internal/type/base_page.rbi index 7c4fef6e..0eb28ffb 100644 --- a/rbi/finch_api/internal/type/base_page.rbi +++ b/rbi/finch_api/internal/type/base_page.rbi @@ -29,8 +29,7 @@ module FinchAPI sig do params( client: FinchAPI::Internal::Transport::BaseClient, - req: - FinchAPI::Internal::Transport::BaseClient::RequestComponentsShape, + req: FinchAPI::Internal::Transport::BaseClient::RequestComponents, headers: T.any(T::Hash[String, String], Net::HTTPHeader), page_data: T.anything ).void diff --git a/rbi/finch_api/internal/type/converter.rbi b/rbi/finch_api/internal/type/converter.rbi index 2b559453..e89c3738 100644 --- a/rbi/finch_api/internal/type/converter.rbi +++ b/rbi/finch_api/internal/type/converter.rbi @@ -5,6 +5,8 @@ module FinchAPI module Type # @api private module Converter + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + Input = T.type_alias do T.any(FinchAPI::Internal::Type::Converter, T::Class[T.anything]) diff --git a/rbi/finch_api/internal/type/enum.rbi b/rbi/finch_api/internal/type/enum.rbi index 9ce15417..4852dc97 100644 --- a/rbi/finch_api/internal/type/enum.rbi +++ b/rbi/finch_api/internal/type/enum.rbi @@ -17,6 +17,7 @@ module FinchAPI # values safely. module Enum include FinchAPI::Internal::Type::Converter + include FinchAPI::Internal::Util::SorbetRuntimeSupport # All of the valid Symbol values for this enum. sig do diff --git a/rbi/finch_api/internal/type/union.rbi b/rbi/finch_api/internal/type/union.rbi index c2ceea53..86cacf70 100644 --- a/rbi/finch_api/internal/type/union.rbi +++ b/rbi/finch_api/internal/type/union.rbi @@ -6,6 +6,7 @@ module FinchAPI # @api private module Union include FinchAPI::Internal::Type::Converter + include FinchAPI::Internal::Util::SorbetRuntimeSupport # @api private # diff --git a/rbi/finch_api/internal/util.rbi b/rbi/finch_api/internal/util.rbi index 3d68dc8d..c3cc7577 100644 --- a/rbi/finch_api/internal/util.rbi +++ b/rbi/finch_api/internal/util.rbi @@ -4,6 +4,8 @@ module FinchAPI module Internal # @api private module Util + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + # @api private sig { returns(Float) } def self.monotonic_secs @@ -172,7 +174,7 @@ module FinchAPI end end - ParsedUriShape = + ParsedUri = T.type_alias do { scheme: T.nilable(String), @@ -187,7 +189,7 @@ module FinchAPI # @api private sig do params(url: T.any(URI::Generic, String)).returns( - FinchAPI::Internal::Util::ParsedUriShape + FinchAPI::Internal::Util::ParsedUri ) end def parse_uri(url) @@ -195,7 +197,7 @@ module FinchAPI # @api private sig do - params(parsed: FinchAPI::Internal::Util::ParsedUriShape).returns( + params(parsed: FinchAPI::Internal::Util::ParsedUri).returns( URI::Generic ) end @@ -205,8 +207,8 @@ module FinchAPI # @api private sig do params( - lhs: FinchAPI::Internal::Util::ParsedUriShape, - rhs: FinchAPI::Internal::Util::ParsedUriShape + lhs: FinchAPI::Internal::Util::ParsedUri, + rhs: FinchAPI::Internal::Util::ParsedUri ).returns(URI::Generic) end def join_parsed_uri(lhs, rhs) @@ -423,6 +425,27 @@ module FinchAPI def decode_sse(lines) end end + + # @api private + module SorbetRuntimeSupport + class MissingSorbetRuntimeError < ::RuntimeError + end + + # @api private + sig { returns(T::Hash[Symbol, T.anything]) } + private def sorbet_runtime_constants + end + + # @api private + sig { params(name: Symbol).void } + def const_missing(name) + end + + # @api private + sig { params(name: Symbol, blk: T.proc.returns(T.anything)).void } + def define_sorbet_constant!(name, &blk) + end + end end end end diff --git a/rbi/finch_api/models/access_token_create_params.rbi b/rbi/finch_api/models/access_token_create_params.rbi index d2344ecd..51f5fb30 100644 --- a/rbi/finch_api/models/access_token_create_params.rbi +++ b/rbi/finch_api/models/access_token_create_params.rbi @@ -6,7 +6,10 @@ module FinchAPI extend FinchAPI::Internal::Type::RequestParameters::Converter include FinchAPI::Internal::Type::RequestParameters - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::AccessTokenCreateParams, FinchAPI::Internal::AnyHash) + end sig { returns(String) } attr_accessor :code diff --git a/rbi/finch_api/models/account_disconnect_params.rbi b/rbi/finch_api/models/account_disconnect_params.rbi index 66b06e9c..75465e4f 100644 --- a/rbi/finch_api/models/account_disconnect_params.rbi +++ b/rbi/finch_api/models/account_disconnect_params.rbi @@ -6,7 +6,10 @@ module FinchAPI extend FinchAPI::Internal::Type::RequestParameters::Converter include FinchAPI::Internal::Type::RequestParameters - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::AccountDisconnectParams, FinchAPI::Internal::AnyHash) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/account_introspect_params.rbi b/rbi/finch_api/models/account_introspect_params.rbi index 0c59ae46..c1d2442d 100644 --- a/rbi/finch_api/models/account_introspect_params.rbi +++ b/rbi/finch_api/models/account_introspect_params.rbi @@ -6,7 +6,10 @@ module FinchAPI extend FinchAPI::Internal::Type::RequestParameters::Converter include FinchAPI::Internal::Type::RequestParameters - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::AccountIntrospectParams, FinchAPI::Internal::AnyHash) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/account_update_event.rbi b/rbi/finch_api/models/account_update_event.rbi index 27d230e3..34e732df 100644 --- a/rbi/finch_api/models/account_update_event.rbi +++ b/rbi/finch_api/models/account_update_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class AccountUpdateEvent < FinchAPI::Models::BaseWebhookEvent - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::AccountUpdateEvent, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(FinchAPI::AccountUpdateEvent::Data)) } attr_reader :data @@ -47,7 +50,12 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data, + FinchAPI::Internal::AnyHash + ) + end sig do returns(FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod) @@ -89,7 +97,12 @@ module FinchAPI class AuthenticationMethod < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod, + FinchAPI::Internal::AnyHash + ) + end # Each benefit type and their supported features. If the benefit type is not # supported, the property will be null @@ -183,7 +196,12 @@ module FinchAPI class SupportedFields < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -359,7 +377,12 @@ module FinchAPI class Company < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Company, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -514,7 +537,10 @@ module FinchAPI class Accounts < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Company::Accounts, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -583,7 +609,10 @@ module FinchAPI class Departments < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Company::Departments, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -634,7 +663,10 @@ module FinchAPI class Parent < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Company::Departments::Parent, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -656,7 +688,10 @@ module FinchAPI class Entity < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Company::Entity, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -689,7 +724,10 @@ module FinchAPI class Locations < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Company::Locations, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -767,7 +805,12 @@ module FinchAPI class Directory < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Directory, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -830,7 +873,10 @@ module FinchAPI class Individuals < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Directory::Individuals, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -929,7 +975,10 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Directory::Individuals::Manager, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -951,7 +1000,10 @@ module FinchAPI class Paging < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Directory::Paging, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -984,7 +1036,12 @@ module FinchAPI class Employment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Employment, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -1224,7 +1281,10 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Employment::Department, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -1245,7 +1305,10 @@ module FinchAPI class Employment < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Employment::Employment, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -1278,7 +1341,10 @@ module FinchAPI class Income < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Employment::Income, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -1325,7 +1391,10 @@ module FinchAPI class Location < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Employment::Location, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -1403,7 +1472,10 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Employment::Manager, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -1424,7 +1496,12 @@ module FinchAPI class Individual < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Individual, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -1602,7 +1679,10 @@ module FinchAPI class Emails < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Individual::Emails, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -1633,7 +1713,10 @@ module FinchAPI class PhoneNumbers < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Individual::PhoneNumbers, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -1664,7 +1747,10 @@ module FinchAPI class Residence < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Individual::Residence, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -1742,7 +1828,12 @@ module FinchAPI class PayGroup < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::PayGroup, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -1800,7 +1891,12 @@ module FinchAPI class PayStatement < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::PayStatement, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -1863,7 +1959,10 @@ module FinchAPI class Paging < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::PayStatement::Paging, + FinchAPI::Internal::AnyHash + ) end sig { returns(T::Boolean) } @@ -1890,7 +1989,10 @@ module FinchAPI class PayStatements < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::PayStatement::PayStatements, + FinchAPI::Internal::AnyHash + ) end sig do @@ -2055,7 +2157,10 @@ module FinchAPI class Earnings < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::PayStatement::PayStatements::Earnings, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -2110,7 +2215,10 @@ module FinchAPI class EmployeeDeductions < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::PayStatement::PayStatements::EmployeeDeductions, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -2179,7 +2287,10 @@ module FinchAPI class EmployerContributions < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::PayStatement::PayStatements::EmployerContributions, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -2226,7 +2337,10 @@ module FinchAPI class Taxes < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::PayStatement::PayStatements::Taxes, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -2296,7 +2410,12 @@ module FinchAPI class Payment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Payment, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -2439,7 +2558,10 @@ module FinchAPI class PayPeriod < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::AccountUpdateEvent::Data::AuthenticationMethod::SupportedFields::Payment::PayPeriod, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } diff --git a/rbi/finch_api/models/base_webhook_event.rbi b/rbi/finch_api/models/base_webhook_event.rbi index cfb68aa0..57f1e84d 100644 --- a/rbi/finch_api/models/base_webhook_event.rbi +++ b/rbi/finch_api/models/base_webhook_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class BaseWebhookEvent < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::BaseWebhookEvent, FinchAPI::Internal::AnyHash) + end # [DEPRECATED] Unique Finch ID of the employer account used to make this # connection. Use `connection_id` instead to identify the connection associated diff --git a/rbi/finch_api/models/company_event.rbi b/rbi/finch_api/models/company_event.rbi index 486c50d5..04a735c5 100644 --- a/rbi/finch_api/models/company_event.rbi +++ b/rbi/finch_api/models/company_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class CompanyEvent < FinchAPI::Models::BaseWebhookEvent - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::CompanyEvent, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(T::Hash[Symbol, T.anything])) } attr_accessor :data diff --git a/rbi/finch_api/models/connect/session_new_params.rbi b/rbi/finch_api/models/connect/session_new_params.rbi index 829bd584..6f0f91c6 100644 --- a/rbi/finch_api/models/connect/session_new_params.rbi +++ b/rbi/finch_api/models/connect/session_new_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Connect::SessionNewParams, + FinchAPI::Internal::AnyHash + ) + end sig { returns(String) } attr_accessor :customer_id @@ -194,7 +199,12 @@ module FinchAPI class Integration < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Connect::SessionNewParams::Integration, + FinchAPI::Internal::AnyHash + ) + end sig do returns( diff --git a/rbi/finch_api/models/connect/session_new_response.rbi b/rbi/finch_api/models/connect/session_new_response.rbi index 47c0bc00..2e387c13 100644 --- a/rbi/finch_api/models/connect/session_new_response.rbi +++ b/rbi/finch_api/models/connect/session_new_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Connect class SessionNewResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Connect::SessionNewResponse, + FinchAPI::Internal::AnyHash + ) + end # The Connect URL to redirect the user to for authentication sig { returns(String) } diff --git a/rbi/finch_api/models/connect/session_reauthenticate_params.rbi b/rbi/finch_api/models/connect/session_reauthenticate_params.rbi index e26e1043..6994e85e 100644 --- a/rbi/finch_api/models/connect/session_reauthenticate_params.rbi +++ b/rbi/finch_api/models/connect/session_reauthenticate_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Connect::SessionReauthenticateParams, + FinchAPI::Internal::AnyHash + ) + end # The ID of the existing connection to reauthenticate sig { returns(String) } diff --git a/rbi/finch_api/models/connect/session_reauthenticate_response.rbi b/rbi/finch_api/models/connect/session_reauthenticate_response.rbi index 2a990f38..94dd4d27 100644 --- a/rbi/finch_api/models/connect/session_reauthenticate_response.rbi +++ b/rbi/finch_api/models/connect/session_reauthenticate_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Connect class SessionReauthenticateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Connect::SessionReauthenticateResponse, + FinchAPI::Internal::AnyHash + ) + end # The Connect URL to redirect the user to for reauthentication sig { returns(String) } diff --git a/rbi/finch_api/models/create_access_token_response.rbi b/rbi/finch_api/models/create_access_token_response.rbi index b83caaf5..a50b7fd1 100644 --- a/rbi/finch_api/models/create_access_token_response.rbi +++ b/rbi/finch_api/models/create_access_token_response.rbi @@ -3,7 +3,13 @@ module FinchAPI module Models class CreateAccessTokenResponse < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any( + FinchAPI::CreateAccessTokenResponse, + FinchAPI::Internal::AnyHash + ) + end # The access token for the connection. sig { returns(String) } diff --git a/rbi/finch_api/models/directory_event.rbi b/rbi/finch_api/models/directory_event.rbi index 1b9c418b..e031275b 100644 --- a/rbi/finch_api/models/directory_event.rbi +++ b/rbi/finch_api/models/directory_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class DirectoryEvent < FinchAPI::Models::BaseWebhookEvent - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::DirectoryEvent, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(FinchAPI::DirectoryEvent::Data)) } attr_reader :data @@ -43,7 +46,9 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::DirectoryEvent::Data, FinchAPI::Internal::AnyHash) + end # The ID of the individual related to the event. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/disconnect_response.rbi b/rbi/finch_api/models/disconnect_response.rbi index a4599d09..b75b846c 100644 --- a/rbi/finch_api/models/disconnect_response.rbi +++ b/rbi/finch_api/models/disconnect_response.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class DisconnectResponse < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::DisconnectResponse, FinchAPI::Internal::AnyHash) + end # If the request is successful, Finch will return “success” (HTTP 200 status). sig { returns(String) } diff --git a/rbi/finch_api/models/employment_event.rbi b/rbi/finch_api/models/employment_event.rbi index 67f0b439..ea2043fb 100644 --- a/rbi/finch_api/models/employment_event.rbi +++ b/rbi/finch_api/models/employment_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class EmploymentEvent < FinchAPI::Models::BaseWebhookEvent - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::EmploymentEvent, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(FinchAPI::EmploymentEvent::Data)) } attr_reader :data @@ -43,7 +46,9 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::EmploymentEvent::Data, FinchAPI::Internal::AnyHash) + end # The ID of the individual related to the event. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/hris/benefit_contribution.rbi b/rbi/finch_api/models/hris/benefit_contribution.rbi index 4dc7d980..86012901 100644 --- a/rbi/finch_api/models/hris/benefit_contribution.rbi +++ b/rbi/finch_api/models/hris/benefit_contribution.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class BenefitContribution < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitContribution, + FinchAPI::Internal::AnyHash + ) + end # Contribution amount in cents (if `fixed`) or basis points (if `percent`). sig { returns(T.nilable(Integer)) } diff --git a/rbi/finch_api/models/hris/benefit_create_params.rbi b/rbi/finch_api/models/hris/benefit_create_params.rbi index cb20450b..72206fcf 100644 --- a/rbi/finch_api/models/hris/benefit_create_params.rbi +++ b/rbi/finch_api/models/hris/benefit_create_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitCreateParams, + FinchAPI::Internal::AnyHash + ) + end # The company match for this benefit. sig do @@ -91,7 +96,12 @@ module FinchAPI class CompanyContribution < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitCreateParams::CompanyContribution, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -162,7 +172,12 @@ module FinchAPI class Tier < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitCreateParams::CompanyContribution::Tier, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(Integer)) } attr_reader :match diff --git a/rbi/finch_api/models/hris/benefit_features_and_operations.rbi b/rbi/finch_api/models/hris/benefit_features_and_operations.rbi index 9917010f..8b9d6c4c 100644 --- a/rbi/finch_api/models/hris/benefit_features_and_operations.rbi +++ b/rbi/finch_api/models/hris/benefit_features_and_operations.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class BenefitFeaturesAndOperations < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitFeaturesAndOperations, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -58,7 +63,12 @@ module FinchAPI class SupportedFeatures < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitFeaturesAndOperations::SupportedFeatures, + FinchAPI::Internal::AnyHash + ) + end # Whether the provider supports an annual maximum for this benefit. sig { returns(T.nilable(T::Boolean)) } diff --git a/rbi/finch_api/models/hris/benefit_list_params.rbi b/rbi/finch_api/models/hris/benefit_list_params.rbi index 61362160..a055d3ef 100644 --- a/rbi/finch_api/models/hris/benefit_list_params.rbi +++ b/rbi/finch_api/models/hris/benefit_list_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitListParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/hris/benefit_list_supported_benefits_params.rbi b/rbi/finch_api/models/hris/benefit_list_supported_benefits_params.rbi index eabf8b5c..b7d0a7da 100644 --- a/rbi/finch_api/models/hris/benefit_list_supported_benefits_params.rbi +++ b/rbi/finch_api/models/hris/benefit_list_supported_benefits_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitListSupportedBenefitsParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/hris/benefit_list_supported_benefits_response.rbi b/rbi/finch_api/models/hris/benefit_list_supported_benefits_response.rbi index 3df38f27..5133c381 100644 --- a/rbi/finch_api/models/hris/benefit_list_supported_benefits_response.rbi +++ b/rbi/finch_api/models/hris/benefit_list_supported_benefits_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class BenefitListSupportedBenefitsResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::BenefitListSupportedBenefitsResponse, + FinchAPI::Internal::AnyHash + ) + end # Whether the provider supports an annual maximum for this benefit. sig { returns(T.nilable(T::Boolean)) } diff --git a/rbi/finch_api/models/hris/benefit_retrieve_params.rbi b/rbi/finch_api/models/hris/benefit_retrieve_params.rbi index a6214ebe..810a2385 100644 --- a/rbi/finch_api/models/hris/benefit_retrieve_params.rbi +++ b/rbi/finch_api/models/hris/benefit_retrieve_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitRetrieveParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/hris/benefit_update_params.rbi b/rbi/finch_api/models/hris/benefit_update_params.rbi index 69edc451..28fcc65e 100644 --- a/rbi/finch_api/models/hris/benefit_update_params.rbi +++ b/rbi/finch_api/models/hris/benefit_update_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::BenefitUpdateParams, + FinchAPI::Internal::AnyHash + ) + end # Updated name or description. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/hris/benefits/enrolled_individual_benefit_response.rbi b/rbi/finch_api/models/hris/benefits/enrolled_individual_benefit_response.rbi index 891239d7..a9602c45 100644 --- a/rbi/finch_api/models/hris/benefits/enrolled_individual_benefit_response.rbi +++ b/rbi/finch_api/models/hris/benefits/enrolled_individual_benefit_response.rbi @@ -6,7 +6,12 @@ module FinchAPI module Benefits class EnrolledIndividualBenefitResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::EnrolledIndividualBenefitResponse, + FinchAPI::Internal::AnyHash + ) + end sig { returns(String) } attr_accessor :job_id diff --git a/rbi/finch_api/models/hris/benefits/individual_benefit.rbi b/rbi/finch_api/models/hris/benefits/individual_benefit.rbi index d8474420..00a7de49 100644 --- a/rbi/finch_api/models/hris/benefits/individual_benefit.rbi +++ b/rbi/finch_api/models/hris/benefits/individual_benefit.rbi @@ -8,7 +8,12 @@ module FinchAPI module Benefits class IndividualBenefit < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::IndividualBenefit, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -60,7 +65,12 @@ module FinchAPI class Body < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::IndividualBenefit::Body, + FinchAPI::Internal::AnyHash + ) + end # If the benefit supports annual maximum, the amount in cents for this individual. sig { returns(T.nilable(Integer)) } diff --git a/rbi/finch_api/models/hris/benefits/individual_enroll_many_params.rbi b/rbi/finch_api/models/hris/benefits/individual_enroll_many_params.rbi index 9d56a8b2..e1d0fcde 100644 --- a/rbi/finch_api/models/hris/benefits/individual_enroll_many_params.rbi +++ b/rbi/finch_api/models/hris/benefits/individual_enroll_many_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::IndividualEnrollManyParams, + FinchAPI::Internal::AnyHash + ) + end # Array of the individual_id to enroll and a configuration object. sig do @@ -65,7 +70,12 @@ module FinchAPI class Individual < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::IndividualEnrollManyParams::Individual, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -119,7 +129,12 @@ module FinchAPI class Configuration < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::IndividualEnrollManyParams::Individual::Configuration, + FinchAPI::Internal::AnyHash + ) + end # For HSA benefits only - whether the contribution limit is for an individual or # family @@ -277,7 +292,10 @@ module FinchAPI class CompanyContribution < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::HRIS::Benefits::IndividualEnrollManyParams::Individual::Configuration::CompanyContribution, + FinchAPI::Internal::AnyHash + ) end # Amount in cents for fixed type or basis points (1/100th of a percent) for @@ -370,7 +388,10 @@ module FinchAPI class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::HRIS::Benefits::IndividualEnrollManyParams::Individual::Configuration::EmployeeDeduction, + FinchAPI::Internal::AnyHash + ) end # Amount in cents for fixed type or basis points (1/100th of a percent) for diff --git a/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbi b/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbi index f4768c51..d6695a0d 100644 --- a/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbi +++ b/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::IndividualEnrolledIDsParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_response.rbi b/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_response.rbi index ef4508db..47c77b2c 100644 --- a/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_response.rbi +++ b/rbi/finch_api/models/hris/benefits/individual_enrolled_ids_response.rbi @@ -6,7 +6,12 @@ module FinchAPI module Benefits class IndividualEnrolledIDsResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Benefits::IndividualEnrolledIDsResponse, + FinchAPI::Internal::AnyHash + ) + end # The id of the benefit. sig { returns(String) } diff --git a/rbi/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi b/rbi/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi index 3bf64914..85685415 100644 --- a/rbi/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi +++ b/rbi/finch_api/models/hris/benefits/individual_retrieve_many_benefits_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::IndividualRetrieveManyBenefitsParams, + FinchAPI::Internal::AnyHash + ) + end # comma-delimited list of stable Finch uuids for each individual. If empty, # defaults to all individuals diff --git a/rbi/finch_api/models/hris/benefits/individual_unenroll_many_params.rbi b/rbi/finch_api/models/hris/benefits/individual_unenroll_many_params.rbi index 0e10126a..e9261602 100644 --- a/rbi/finch_api/models/hris/benefits/individual_unenroll_many_params.rbi +++ b/rbi/finch_api/models/hris/benefits/individual_unenroll_many_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::IndividualUnenrollManyParams, + FinchAPI::Internal::AnyHash + ) + end # Array of individual_ids to unenroll. sig { returns(T.nilable(T::Array[String])) } diff --git a/rbi/finch_api/models/hris/benefits/unenrolled_individual_benefit_response.rbi b/rbi/finch_api/models/hris/benefits/unenrolled_individual_benefit_response.rbi index b7e9ed62..53f91028 100644 --- a/rbi/finch_api/models/hris/benefits/unenrolled_individual_benefit_response.rbi +++ b/rbi/finch_api/models/hris/benefits/unenrolled_individual_benefit_response.rbi @@ -6,7 +6,12 @@ module FinchAPI module Benefits class UnenrolledIndividualBenefitResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Benefits::UnenrolledIndividualBenefitResponse, + FinchAPI::Internal::AnyHash + ) + end sig { returns(String) } attr_accessor :job_id diff --git a/rbi/finch_api/models/hris/benefits_support.rbi b/rbi/finch_api/models/hris/benefits_support.rbi index 3525e1fb..d5935f18 100644 --- a/rbi/finch_api/models/hris/benefits_support.rbi +++ b/rbi/finch_api/models/hris/benefits_support.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class BenefitsSupport < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::BenefitsSupport, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(FinchAPI::HRIS::BenefitFeaturesAndOperations)) } attr_reader :commuter diff --git a/rbi/finch_api/models/hris/company.rbi b/rbi/finch_api/models/hris/company.rbi index 5c211263..ee9d5eb4 100644 --- a/rbi/finch_api/models/hris/company.rbi +++ b/rbi/finch_api/models/hris/company.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class HRISCompany < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::HRISCompany, FinchAPI::Internal::AnyHash) + end # A stable Finch `id` (UUID v4) for the company. sig { returns(String) } @@ -124,7 +126,12 @@ module FinchAPI class Account < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::HRISCompany::Account, + FinchAPI::Internal::AnyHash + ) + end # The name of the bank associated in the payroll/HRIS system. sig { returns(T.nilable(String)) } @@ -232,7 +239,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::HRISCompany::Department, + FinchAPI::Internal::AnyHash + ) + end # The department name. sig { returns(T.nilable(String)) } @@ -285,7 +297,12 @@ module FinchAPI class Parent < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::HRISCompany::Department::Parent, + FinchAPI::Internal::AnyHash + ) + end # The parent department's name. sig { returns(T.nilable(String)) } @@ -307,7 +324,12 @@ module FinchAPI class Entity < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::HRISCompany::Entity, + FinchAPI::Internal::AnyHash + ) + end # The tax payer subtype of the company. sig do diff --git a/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbi b/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbi index 31a5d81d..8db60e0e 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbi @@ -10,7 +10,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Company::PayStatementItem::RuleCreateParams, + FinchAPI::Internal::AnyHash + ) + end # Specifies the fields to be applied when the condition is met. sig do @@ -128,7 +133,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Company::PayStatementItem::RuleCreateParams::Attributes, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached in the entity. It is a key-value pairs where the # values can be of any type (string, number, boolean, object, array, etc.). @@ -160,7 +170,12 @@ module FinchAPI class Condition < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Company::PayStatementItem::RuleCreateParams::Condition, + FinchAPI::Internal::AnyHash + ) + end # The field to be checked in the rule. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_response.rbi b/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_response.rbi index 92229457..66d58147 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_response.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_response.rbi @@ -7,7 +7,12 @@ module FinchAPI module PayStatementItem class RuleCreateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleCreateResponse, + FinchAPI::Internal::AnyHash + ) + end # Finch id (uuidv4) for the rule. sig { returns(T.nilable(String)) } @@ -166,7 +171,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleCreateResponse::Attributes, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached in the entity. It is a key-value pairs where the # values can be of any type (string, number, boolean, object, array, etc.). @@ -198,7 +208,12 @@ module FinchAPI class Condition < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleCreateResponse::Condition, + FinchAPI::Internal::AnyHash + ) + end # The field to be checked in the rule. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi b/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi index ea99b7c0..6c9e9edf 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi @@ -10,7 +10,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Company::PayStatementItem::RuleDeleteParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_response.rbi b/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_response.rbi index 61f9912b..864a1248 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_response.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_response.rbi @@ -7,7 +7,12 @@ module FinchAPI module PayStatementItem class RuleDeleteResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleDeleteResponse, + FinchAPI::Internal::AnyHash + ) + end # Finch id (uuidv4) for the rule. sig { returns(T.nilable(String)) } @@ -177,7 +182,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleDeleteResponse::Attributes, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached in the entity. It is a key-value pairs where the # values can be of any type (string, number, boolean, object, array, etc.). @@ -209,7 +219,12 @@ module FinchAPI class Condition < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleDeleteResponse::Condition, + FinchAPI::Internal::AnyHash + ) + end # The field to be checked in the rule. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbi b/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbi index fe6d2b94..a95be1cb 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbi @@ -10,7 +10,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Company::PayStatementItem::RuleListParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_response.rbi b/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_response.rbi index 40fb4af0..34ab90f6 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_response.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_response.rbi @@ -7,7 +7,12 @@ module FinchAPI module PayStatementItem class RuleListResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleListResponse, + FinchAPI::Internal::AnyHash + ) + end # Finch id (uuidv4) for the rule. sig { returns(T.nilable(String)) } @@ -166,7 +171,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleListResponse::Attributes, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached in the entity. It is a key-value pairs where the # values can be of any type (string, number, boolean, object, array, etc.). @@ -198,7 +208,12 @@ module FinchAPI class Condition < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleListResponse::Condition, + FinchAPI::Internal::AnyHash + ) + end # The field to be checked in the rule. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi b/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi index 47c522da..61648289 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi @@ -10,7 +10,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Company::PayStatementItem::RuleUpdateParams, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T.anything)) } attr_reader :optional_property diff --git a/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_response.rbi b/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_response.rbi index 21989ed7..3cc83160 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_response.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_response.rbi @@ -7,7 +7,12 @@ module FinchAPI module PayStatementItem class RuleUpdateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleUpdateResponse, + FinchAPI::Internal::AnyHash + ) + end # Finch id (uuidv4) for the rule. sig { returns(T.nilable(String)) } @@ -166,7 +171,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleUpdateResponse::Attributes, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached in the entity. It is a key-value pairs where the # values can be of any type (string, number, boolean, object, array, etc.). @@ -198,7 +208,12 @@ module FinchAPI class Condition < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItem::RuleUpdateResponse::Condition, + FinchAPI::Internal::AnyHash + ) + end # The field to be checked in the rule. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/hris/company/pay_statement_item_list_params.rbi b/rbi/finch_api/models/hris/company/pay_statement_item_list_params.rbi index e6e94f94..e5744f6d 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item_list_params.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item_list_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Company::PayStatementItemListParams, + FinchAPI::Internal::AnyHash + ) + end # Comma-delimited list of pay statement item categories to filter on. If empty, # defaults to all categories. diff --git a/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi b/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi index fe8b20dc..d50d4a14 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi @@ -6,7 +6,12 @@ module FinchAPI module Company class PayStatementItemListResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse, + FinchAPI::Internal::AnyHash + ) + end # The attributes of the pay statement item. sig do @@ -86,7 +91,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, + FinchAPI::Internal::AnyHash + ) + end # `true` if the amount is paid by the employers. This field is only available for # taxes. diff --git a/rbi/finch_api/models/hris/company_benefit.rbi b/rbi/finch_api/models/hris/company_benefit.rbi index f3c8d308..be57f17d 100644 --- a/rbi/finch_api/models/hris/company_benefit.rbi +++ b/rbi/finch_api/models/hris/company_benefit.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class CompanyBenefit < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::CompanyBenefit, FinchAPI::Internal::AnyHash) + end # The id of the benefit. sig { returns(String) } @@ -85,7 +87,12 @@ module FinchAPI class CompanyContribution < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::CompanyBenefit::CompanyContribution, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -156,7 +163,12 @@ module FinchAPI class Tier < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::CompanyBenefit::CompanyContribution::Tier, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(Integer)) } attr_reader :match diff --git a/rbi/finch_api/models/hris/company_retrieve_params.rbi b/rbi/finch_api/models/hris/company_retrieve_params.rbi index 7b6103dd..c618cc0f 100644 --- a/rbi/finch_api/models/hris/company_retrieve_params.rbi +++ b/rbi/finch_api/models/hris/company_retrieve_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::CompanyRetrieveParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/hris/create_company_benefits_response.rbi b/rbi/finch_api/models/hris/create_company_benefits_response.rbi index 8c1171de..ceb0e3e6 100644 --- a/rbi/finch_api/models/hris/create_company_benefits_response.rbi +++ b/rbi/finch_api/models/hris/create_company_benefits_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class CreateCompanyBenefitsResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::CreateCompanyBenefitsResponse, + FinchAPI::Internal::AnyHash + ) + end # The id of the benefit. sig { returns(String) } diff --git a/rbi/finch_api/models/hris/directory_list_individuals_params.rbi b/rbi/finch_api/models/hris/directory_list_individuals_params.rbi index 6a97d740..19c1627d 100644 --- a/rbi/finch_api/models/hris/directory_list_individuals_params.rbi +++ b/rbi/finch_api/models/hris/directory_list_individuals_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::DirectoryListIndividualsParams, + FinchAPI::Internal::AnyHash + ) + end # Number of employees to return (defaults to all) sig { returns(T.nilable(Integer)) } diff --git a/rbi/finch_api/models/hris/directory_list_params.rbi b/rbi/finch_api/models/hris/directory_list_params.rbi index 485972c9..28bc07a1 100644 --- a/rbi/finch_api/models/hris/directory_list_params.rbi +++ b/rbi/finch_api/models/hris/directory_list_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::DirectoryListParams, + FinchAPI::Internal::AnyHash + ) + end # Number of employees to return (defaults to all) sig { returns(T.nilable(Integer)) } diff --git a/rbi/finch_api/models/hris/document_list_params.rbi b/rbi/finch_api/models/hris/document_list_params.rbi index e63364f2..f17a1d7f 100644 --- a/rbi/finch_api/models/hris/document_list_params.rbi +++ b/rbi/finch_api/models/hris/document_list_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::DocumentListParams, + FinchAPI::Internal::AnyHash + ) + end # Comma-delimited list of stable Finch uuids for each individual. If empty, # defaults to all individuals diff --git a/rbi/finch_api/models/hris/document_list_response.rbi b/rbi/finch_api/models/hris/document_list_response.rbi index 60673a7c..10d4c179 100644 --- a/rbi/finch_api/models/hris/document_list_response.rbi +++ b/rbi/finch_api/models/hris/document_list_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class DocumentListResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::HRIS::DocumentListResponse, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T::Array[FinchAPI::HRIS::DocumentResponse]) } attr_accessor :documents diff --git a/rbi/finch_api/models/hris/document_response.rbi b/rbi/finch_api/models/hris/document_response.rbi index 5f423f07..b1f06cc8 100644 --- a/rbi/finch_api/models/hris/document_response.rbi +++ b/rbi/finch_api/models/hris/document_response.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class DocumentResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::DocumentResponse, FinchAPI::Internal::AnyHash) + end # A stable Finch id for the document. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/hris/document_retreive_params.rbi b/rbi/finch_api/models/hris/document_retreive_params.rbi index 076a555a..c008d3e1 100644 --- a/rbi/finch_api/models/hris/document_retreive_params.rbi +++ b/rbi/finch_api/models/hris/document_retreive_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::DocumentRetreiveParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/hris/employment_data.rbi b/rbi/finch_api/models/hris/employment_data.rbi index 1a541553..c6dc67f5 100644 --- a/rbi/finch_api/models/hris/employment_data.rbi +++ b/rbi/finch_api/models/hris/employment_data.rbi @@ -16,7 +16,12 @@ module FinchAPI class UnionMember0 < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentData::UnionMember0, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(String) } @@ -298,7 +303,12 @@ module FinchAPI class CustomField < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentData::UnionMember0::CustomField, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_reader :name @@ -395,7 +405,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentData::UnionMember0::Department, + FinchAPI::Internal::AnyHash + ) + end # The name of the department associated with the individual. sig { returns(T.nilable(String)) } @@ -416,7 +431,12 @@ module FinchAPI class Employment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentData::UnionMember0::Employment, + FinchAPI::Internal::AnyHash + ) + end # The secondary employment type of the individual. Options: `full_time`, # `part_time`, `intern`, `temp`, `seasonal` and `individual_contractor`. @@ -633,7 +653,12 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentData::UnionMember0::Manager, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(String) } @@ -655,7 +680,12 @@ module FinchAPI class BatchError < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentData::BatchError, + FinchAPI::Internal::AnyHash + ) + end sig { returns(Float) } attr_accessor :code diff --git a/rbi/finch_api/models/hris/employment_data_response.rbi b/rbi/finch_api/models/hris/employment_data_response.rbi index adb2704f..b177eb88 100644 --- a/rbi/finch_api/models/hris/employment_data_response.rbi +++ b/rbi/finch_api/models/hris/employment_data_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class EmploymentDataResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentDataResponse, + FinchAPI::Internal::AnyHash + ) + end sig do returns( diff --git a/rbi/finch_api/models/hris/employment_retrieve_many_params.rbi b/rbi/finch_api/models/hris/employment_retrieve_many_params.rbi index 3fe6eb78..db2ec9eb 100644 --- a/rbi/finch_api/models/hris/employment_retrieve_many_params.rbi +++ b/rbi/finch_api/models/hris/employment_retrieve_many_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentRetrieveManyParams, + FinchAPI::Internal::AnyHash + ) + end # The array of batch requests. sig do @@ -48,7 +53,12 @@ module FinchAPI class Request < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::EmploymentRetrieveManyParams::Request, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. There is no # limit to the number of `individual_id` to send per request. It is preferantial diff --git a/rbi/finch_api/models/hris/individual.rbi b/rbi/finch_api/models/hris/individual.rbi index 06733d8d..220e8bbb 100644 --- a/rbi/finch_api/models/hris/individual.rbi +++ b/rbi/finch_api/models/hris/individual.rbi @@ -16,7 +16,12 @@ module FinchAPI class UnionMember0 < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Individual::UnionMember0, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(String) } @@ -315,7 +320,12 @@ module FinchAPI class PhoneNumber < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Individual::UnionMember0::PhoneNumber, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :data @@ -392,7 +402,12 @@ module FinchAPI class Email < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Individual::UnionMember0::Email, + FinchAPI::Internal::AnyHash + ) + end sig { returns(String) } attr_accessor :data @@ -470,7 +485,12 @@ module FinchAPI class BatchError < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Individual::BatchError, + FinchAPI::Internal::AnyHash + ) + end sig { returns(Float) } attr_accessor :code diff --git a/rbi/finch_api/models/hris/individual_in_directory.rbi b/rbi/finch_api/models/hris/individual_in_directory.rbi index 721abe37..b17280bb 100644 --- a/rbi/finch_api/models/hris/individual_in_directory.rbi +++ b/rbi/finch_api/models/hris/individual_in_directory.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class IndividualInDirectory < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::IndividualInDirectory, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(String) } @@ -110,7 +115,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::IndividualInDirectory::Department, + FinchAPI::Internal::AnyHash + ) + end # The name of the department. sig { returns(T.nilable(String)) } @@ -131,7 +141,12 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::IndividualInDirectory::Manager, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(String) } diff --git a/rbi/finch_api/models/hris/individual_response.rbi b/rbi/finch_api/models/hris/individual_response.rbi index be05bb33..f35bee8d 100644 --- a/rbi/finch_api/models/hris/individual_response.rbi +++ b/rbi/finch_api/models/hris/individual_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class IndividualResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::IndividualResponse, + FinchAPI::Internal::AnyHash + ) + end sig do returns( diff --git a/rbi/finch_api/models/hris/individual_retrieve_many_params.rbi b/rbi/finch_api/models/hris/individual_retrieve_many_params.rbi index 44b5d135..a8fce80e 100644 --- a/rbi/finch_api/models/hris/individual_retrieve_many_params.rbi +++ b/rbi/finch_api/models/hris/individual_retrieve_many_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::IndividualRetrieveManyParams, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -80,7 +85,12 @@ module FinchAPI class Options < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::IndividualRetrieveManyParams::Options, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Array[String])) } attr_reader :include @@ -99,7 +109,12 @@ module FinchAPI class Request < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::IndividualRetrieveManyParams::Request, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_reader :individual_id diff --git a/rbi/finch_api/models/hris/pay_statement.rbi b/rbi/finch_api/models/hris/pay_statement.rbi index 9796bb09..2953b815 100644 --- a/rbi/finch_api/models/hris/pay_statement.rbi +++ b/rbi/finch_api/models/hris/pay_statement.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class PayStatement < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::PayStatement, FinchAPI::Internal::AnyHash) + end # The array of earnings objects associated with this pay statement sig do @@ -185,7 +187,12 @@ module FinchAPI class Earning < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Earning, + FinchAPI::Internal::AnyHash + ) + end # The earnings amount in cents. sig { returns(T.nilable(Integer)) } @@ -282,7 +289,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Earning::Attributes, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -323,7 +335,12 @@ module FinchAPI class Metadata < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, @@ -449,7 +466,12 @@ module FinchAPI class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::EmployeeDeduction, + FinchAPI::Internal::AnyHash + ) + end # The deduction amount in cents. sig { returns(T.nilable(Integer)) } @@ -538,7 +560,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -579,7 +606,12 @@ module FinchAPI class Metadata < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, @@ -618,7 +650,12 @@ module FinchAPI class EmployerContribution < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::EmployerContribution, + FinchAPI::Internal::AnyHash + ) + end # The contribution amount in cents. sig { returns(T.nilable(Integer)) } @@ -699,7 +736,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -740,7 +782,12 @@ module FinchAPI class Metadata < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, @@ -811,7 +858,12 @@ module FinchAPI class Tax < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Tax, + FinchAPI::Internal::AnyHash + ) + end # The tax amount in cents. sig { returns(T.nilable(Integer)) } @@ -899,7 +951,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Tax::Attributes, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -940,7 +997,12 @@ module FinchAPI class Metadata < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) + end # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, diff --git a/rbi/finch_api/models/hris/pay_statement_response.rbi b/rbi/finch_api/models/hris/pay_statement_response.rbi index 815a7dea..035d8d52 100644 --- a/rbi/finch_api/models/hris/pay_statement_response.rbi +++ b/rbi/finch_api/models/hris/pay_statement_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class PayStatementResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatementResponse, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(FinchAPI::HRIS::PayStatementResponseBody)) } attr_reader :body diff --git a/rbi/finch_api/models/hris/pay_statement_response_body.rbi b/rbi/finch_api/models/hris/pay_statement_response_body.rbi index f1524235..2deb25a9 100644 --- a/rbi/finch_api/models/hris/pay_statement_response_body.rbi +++ b/rbi/finch_api/models/hris/pay_statement_response_body.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class PayStatementResponseBody < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatementResponseBody, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(FinchAPI::Paging)) } attr_reader :paging diff --git a/rbi/finch_api/models/hris/pay_statement_retrieve_many_params.rbi b/rbi/finch_api/models/hris/pay_statement_retrieve_many_params.rbi index 0e306b89..f4c9101e 100644 --- a/rbi/finch_api/models/hris/pay_statement_retrieve_many_params.rbi +++ b/rbi/finch_api/models/hris/pay_statement_retrieve_many_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatementRetrieveManyParams, + FinchAPI::Internal::AnyHash + ) + end # The array of batch requests. sig do @@ -50,7 +55,12 @@ module FinchAPI class Request < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatementRetrieveManyParams::Request, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for a payment. sig { returns(String) } diff --git a/rbi/finch_api/models/hris/payment.rbi b/rbi/finch_api/models/hris/payment.rbi index 5ff791c5..7b7d6081 100644 --- a/rbi/finch_api/models/hris/payment.rbi +++ b/rbi/finch_api/models/hris/payment.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class Payment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::Payment, FinchAPI::Internal::AnyHash) + end # The unique id for the payment. sig { returns(T.nilable(String)) } @@ -197,7 +199,12 @@ module FinchAPI class PayPeriod < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::Payment::PayPeriod, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :end_date diff --git a/rbi/finch_api/models/hris/payment_list_params.rbi b/rbi/finch_api/models/hris/payment_list_params.rbi index 666ed0d8..0934fc28 100644 --- a/rbi/finch_api/models/hris/payment_list_params.rbi +++ b/rbi/finch_api/models/hris/payment_list_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::PaymentListParams, + FinchAPI::Internal::AnyHash + ) + end # The end date to retrieve payments by a company (inclusive) in `YYYY-MM-DD` # format. diff --git a/rbi/finch_api/models/hris/support_per_benefit_type.rbi b/rbi/finch_api/models/hris/support_per_benefit_type.rbi index 1f51d185..79720488 100644 --- a/rbi/finch_api/models/hris/support_per_benefit_type.rbi +++ b/rbi/finch_api/models/hris/support_per_benefit_type.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class SupportPerBenefitType < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::SupportPerBenefitType, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(FinchAPI::OperationSupportMatrix)) } attr_reader :company_benefits diff --git a/rbi/finch_api/models/hris/supported_benefit.rbi b/rbi/finch_api/models/hris/supported_benefit.rbi index 561cded5..320239bf 100644 --- a/rbi/finch_api/models/hris/supported_benefit.rbi +++ b/rbi/finch_api/models/hris/supported_benefit.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class SupportedBenefit < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::SupportedBenefit, FinchAPI::Internal::AnyHash) + end # Whether the provider supports an annual maximum for this benefit. sig { returns(T.nilable(T::Boolean)) } diff --git a/rbi/finch_api/models/hris/update_company_benefit_response.rbi b/rbi/finch_api/models/hris/update_company_benefit_response.rbi index bd9f29fd..46b6401e 100644 --- a/rbi/finch_api/models/hris/update_company_benefit_response.rbi +++ b/rbi/finch_api/models/hris/update_company_benefit_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module HRIS class UpdateCompanyBenefitResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::HRIS::UpdateCompanyBenefitResponse, + FinchAPI::Internal::AnyHash + ) + end # The id of the benefit. sig { returns(String) } diff --git a/rbi/finch_api/models/hris/w42005.rbi b/rbi/finch_api/models/hris/w42005.rbi index 14d586bd..128aa1cf 100644 --- a/rbi/finch_api/models/hris/w42005.rbi +++ b/rbi/finch_api/models/hris/w42005.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class W42005 < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::W42005, FinchAPI::Internal::AnyHash) + end # Detailed information specific to the 2005 W4 form. sig { returns(T.nilable(FinchAPI::HRIS::W42005::Data)) } @@ -58,7 +60,9 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::W42005::Data, FinchAPI::Internal::AnyHash) + end # Additional withholding amount (in cents). sig { returns(T.nilable(Integer)) } diff --git a/rbi/finch_api/models/hris/w42020.rbi b/rbi/finch_api/models/hris/w42020.rbi index 6d525adc..fb6c2bdb 100644 --- a/rbi/finch_api/models/hris/w42020.rbi +++ b/rbi/finch_api/models/hris/w42020.rbi @@ -5,7 +5,9 @@ module FinchAPI module HRIS class W42020 < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::W42020, FinchAPI::Internal::AnyHash) + end # Detailed information specific to the 2020 W4 form. sig { returns(T.nilable(FinchAPI::HRIS::W42020::Data)) } @@ -58,7 +60,9 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::HRIS::W42020::Data, FinchAPI::Internal::AnyHash) + end # Amount claimed for dependents other than qualifying children under 17 (in # cents). diff --git a/rbi/finch_api/models/income.rbi b/rbi/finch_api/models/income.rbi index ab6e2cad..64142b1d 100644 --- a/rbi/finch_api/models/income.rbi +++ b/rbi/finch_api/models/income.rbi @@ -3,7 +3,8 @@ module FinchAPI module Models class Income < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias { T.any(FinchAPI::Income, FinchAPI::Internal::AnyHash) } # The income amount in cents. sig { returns(T.nilable(Integer)) } diff --git a/rbi/finch_api/models/individual_event.rbi b/rbi/finch_api/models/individual_event.rbi index faead1f2..8149f95e 100644 --- a/rbi/finch_api/models/individual_event.rbi +++ b/rbi/finch_api/models/individual_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class IndividualEvent < FinchAPI::Models::BaseWebhookEvent - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::IndividualEvent, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(FinchAPI::IndividualEvent::Data)) } attr_reader :data @@ -43,7 +46,9 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::IndividualEvent::Data, FinchAPI::Internal::AnyHash) + end # The ID of the individual related to the event. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/introspection.rbi b/rbi/finch_api/models/introspection.rbi index 081679f3..2249bd9d 100644 --- a/rbi/finch_api/models/introspection.rbi +++ b/rbi/finch_api/models/introspection.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class Introspection < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::Introspection, FinchAPI::Internal::AnyHash) + end # The Finch UUID of the token being introspected. sig { returns(String) } @@ -188,7 +191,12 @@ module FinchAPI class AuthenticationMethod < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Introspection::AuthenticationMethod, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -264,7 +272,12 @@ module FinchAPI class ConnectionStatus < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Introspection::AuthenticationMethod::ConnectionStatus, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_reader :message @@ -375,7 +388,12 @@ module FinchAPI class ConnectionStatus < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Introspection::ConnectionStatus, + FinchAPI::Internal::AnyHash + ) + end # The datetime when the connection was last successfully synced. sig { returns(T.nilable(Time)) } diff --git a/rbi/finch_api/models/job_completion_event.rbi b/rbi/finch_api/models/job_completion_event.rbi index d37b94ce..d3bda9ec 100644 --- a/rbi/finch_api/models/job_completion_event.rbi +++ b/rbi/finch_api/models/job_completion_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class JobCompletionEvent < FinchAPI::Models::BaseWebhookEvent - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::JobCompletionEvent, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(FinchAPI::JobCompletionEvent::Data)) } attr_reader :data @@ -47,7 +50,12 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::JobCompletionEvent::Data, + FinchAPI::Internal::AnyHash + ) + end # The id of the job which has completed. sig { returns(String) } diff --git a/rbi/finch_api/models/jobs/automated_async_job.rbi b/rbi/finch_api/models/jobs/automated_async_job.rbi index b7fd553d..e2376edc 100644 --- a/rbi/finch_api/models/jobs/automated_async_job.rbi +++ b/rbi/finch_api/models/jobs/automated_async_job.rbi @@ -5,7 +5,12 @@ module FinchAPI module Jobs class AutomatedAsyncJob < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Jobs::AutomatedAsyncJob, + FinchAPI::Internal::AnyHash + ) + end # The datetime the job completed. sig { returns(T.nilable(Time)) } @@ -112,7 +117,12 @@ module FinchAPI class Params < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Jobs::AutomatedAsyncJob::Params, + FinchAPI::Internal::AnyHash + ) + end # The ID of the individual that the job was completed for. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/jobs/automated_create_params.rbi b/rbi/finch_api/models/jobs/automated_create_params.rbi index 2ffac899..1b0c03a1 100644 --- a/rbi/finch_api/models/jobs/automated_create_params.rbi +++ b/rbi/finch_api/models/jobs/automated_create_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Jobs::AutomatedCreateParams, + FinchAPI::Internal::AnyHash + ) + end # The type of job to start. sig { returns(FinchAPI::Jobs::AutomatedCreateParams::Type::OrSymbol) } @@ -80,7 +85,12 @@ module FinchAPI class Params < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Jobs::AutomatedCreateParams::Params, + FinchAPI::Internal::AnyHash + ) + end # The unique ID of the individual for W-4 data sync. sig { returns(String) } diff --git a/rbi/finch_api/models/jobs/automated_create_response.rbi b/rbi/finch_api/models/jobs/automated_create_response.rbi index d2dca1bd..18773c8a 100644 --- a/rbi/finch_api/models/jobs/automated_create_response.rbi +++ b/rbi/finch_api/models/jobs/automated_create_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Jobs class AutomatedCreateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Jobs::AutomatedCreateResponse, + FinchAPI::Internal::AnyHash + ) + end # The number of allowed refreshes per hour (per hour, fixed window) sig { returns(Integer) } diff --git a/rbi/finch_api/models/jobs/automated_list_params.rbi b/rbi/finch_api/models/jobs/automated_list_params.rbi index f95fa380..7a11e67e 100644 --- a/rbi/finch_api/models/jobs/automated_list_params.rbi +++ b/rbi/finch_api/models/jobs/automated_list_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Jobs::AutomatedListParams, + FinchAPI::Internal::AnyHash + ) + end # Number of items to return sig { returns(T.nilable(Integer)) } diff --git a/rbi/finch_api/models/jobs/automated_list_response.rbi b/rbi/finch_api/models/jobs/automated_list_response.rbi index 4e666677..511cb8ba 100644 --- a/rbi/finch_api/models/jobs/automated_list_response.rbi +++ b/rbi/finch_api/models/jobs/automated_list_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Jobs class AutomatedListResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Jobs::AutomatedListResponse, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T::Array[FinchAPI::Jobs::AutomatedAsyncJob]) } attr_accessor :data @@ -42,7 +47,12 @@ module FinchAPI class Meta < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Jobs::AutomatedListResponse::Meta, + FinchAPI::Internal::AnyHash + ) + end # Information about remaining quotas for this connection. Only applicable for # customers opted in to use Finch's Data Sync Refresh endpoint @@ -93,7 +103,12 @@ module FinchAPI class Quotas < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Jobs::AutomatedListResponse::Meta::Quotas, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -138,7 +153,12 @@ module FinchAPI class DataSyncAll < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Jobs::AutomatedListResponse::Meta::Quotas::DataSyncAll, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(Integer)) } attr_reader :allowed_refreshes diff --git a/rbi/finch_api/models/jobs/automated_retrieve_params.rbi b/rbi/finch_api/models/jobs/automated_retrieve_params.rbi index 8bcdcb4c..daa429b3 100644 --- a/rbi/finch_api/models/jobs/automated_retrieve_params.rbi +++ b/rbi/finch_api/models/jobs/automated_retrieve_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Jobs::AutomatedRetrieveParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/jobs/manual_async_job.rbi b/rbi/finch_api/models/jobs/manual_async_job.rbi index 07c83796..e8d6ea29 100644 --- a/rbi/finch_api/models/jobs/manual_async_job.rbi +++ b/rbi/finch_api/models/jobs/manual_async_job.rbi @@ -5,7 +5,9 @@ module FinchAPI module Jobs class ManualAsyncJob < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::Jobs::ManualAsyncJob, FinchAPI::Internal::AnyHash) + end # Specific information about the job, such as individual statuses for batch jobs. sig { returns(T.nilable(T::Array[T.anything])) } diff --git a/rbi/finch_api/models/jobs/manual_retrieve_params.rbi b/rbi/finch_api/models/jobs/manual_retrieve_params.rbi index 3c3c7fae..1b6a3dad 100644 --- a/rbi/finch_api/models/jobs/manual_retrieve_params.rbi +++ b/rbi/finch_api/models/jobs/manual_retrieve_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Jobs::ManualRetrieveParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/location.rbi b/rbi/finch_api/models/location.rbi index 2a98c0fd..61ebcd8d 100644 --- a/rbi/finch_api/models/location.rbi +++ b/rbi/finch_api/models/location.rbi @@ -3,7 +3,8 @@ module FinchAPI module Models class Location < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias { T.any(FinchAPI::Location, FinchAPI::Internal::AnyHash) } # City, district, suburb, town, or village. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/money.rbi b/rbi/finch_api/models/money.rbi index 2ab196e5..6510a1a1 100644 --- a/rbi/finch_api/models/money.rbi +++ b/rbi/finch_api/models/money.rbi @@ -3,7 +3,8 @@ module FinchAPI module Models class Money < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias { T.any(FinchAPI::Money, FinchAPI::Internal::AnyHash) } # Amount for money object (in cents) sig { returns(T.nilable(Integer)) } diff --git a/rbi/finch_api/models/operation_support_matrix.rbi b/rbi/finch_api/models/operation_support_matrix.rbi index 509921da..9d1ec9ad 100644 --- a/rbi/finch_api/models/operation_support_matrix.rbi +++ b/rbi/finch_api/models/operation_support_matrix.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class OperationSupportMatrix < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::OperationSupportMatrix, FinchAPI::Internal::AnyHash) + end # - `supported`: This operation is supported by both the provider and Finch # - `not_supported_by_finch`: This operation is not supported by Finch but diff --git a/rbi/finch_api/models/paging.rbi b/rbi/finch_api/models/paging.rbi index 86906989..8b1065fe 100644 --- a/rbi/finch_api/models/paging.rbi +++ b/rbi/finch_api/models/paging.rbi @@ -3,7 +3,8 @@ module FinchAPI module Models class Paging < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias { T.any(FinchAPI::Paging, FinchAPI::Internal::AnyHash) } # The current start index of the returned list of elements sig { returns(Integer) } diff --git a/rbi/finch_api/models/pay_statement_event.rbi b/rbi/finch_api/models/pay_statement_event.rbi index b74da438..7f169eb4 100644 --- a/rbi/finch_api/models/pay_statement_event.rbi +++ b/rbi/finch_api/models/pay_statement_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class PayStatementEvent < FinchAPI::Models::BaseWebhookEvent - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::PayStatementEvent, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(FinchAPI::PayStatementEvent::Data)) } attr_reader :data @@ -45,7 +48,12 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::PayStatementEvent::Data, + FinchAPI::Internal::AnyHash + ) + end # The ID of the individual associated with the pay statement. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/payment_event.rbi b/rbi/finch_api/models/payment_event.rbi index ca98e852..271f31f1 100644 --- a/rbi/finch_api/models/payment_event.rbi +++ b/rbi/finch_api/models/payment_event.rbi @@ -3,7 +3,10 @@ module FinchAPI module Models class PaymentEvent < FinchAPI::Models::BaseWebhookEvent - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::PaymentEvent, FinchAPI::Internal::AnyHash) + end sig { returns(T.nilable(FinchAPI::PaymentEvent::Data)) } attr_reader :data @@ -43,7 +46,9 @@ module FinchAPI class Data < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any(FinchAPI::PaymentEvent::Data, FinchAPI::Internal::AnyHash) + end # The date of the payment. sig { returns(String) } diff --git a/rbi/finch_api/models/payroll/pay_group_list_params.rbi b/rbi/finch_api/models/payroll/pay_group_list_params.rbi index 7beea8af..a64b3e53 100644 --- a/rbi/finch_api/models/payroll/pay_group_list_params.rbi +++ b/rbi/finch_api/models/payroll/pay_group_list_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Payroll::PayGroupListParams, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_reader :individual_id diff --git a/rbi/finch_api/models/payroll/pay_group_list_response.rbi b/rbi/finch_api/models/payroll/pay_group_list_response.rbi index b83a5581..dae722e8 100644 --- a/rbi/finch_api/models/payroll/pay_group_list_response.rbi +++ b/rbi/finch_api/models/payroll/pay_group_list_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Payroll class PayGroupListResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Payroll::PayGroupListResponse, + FinchAPI::Internal::AnyHash + ) + end # Finch id (uuidv4) for the pay group sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/payroll/pay_group_retrieve_params.rbi b/rbi/finch_api/models/payroll/pay_group_retrieve_params.rbi index 5f4610ef..3b985d03 100644 --- a/rbi/finch_api/models/payroll/pay_group_retrieve_params.rbi +++ b/rbi/finch_api/models/payroll/pay_group_retrieve_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Payroll::PayGroupRetrieveParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi b/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi index 5d980b81..6a4f31f5 100644 --- a/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi +++ b/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Payroll class PayGroupRetrieveResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Payroll::PayGroupRetrieveResponse, + FinchAPI::Internal::AnyHash + ) + end # Finch id (uuidv4) for the pay group sig { returns(String) } diff --git a/rbi/finch_api/models/provider.rbi b/rbi/finch_api/models/provider.rbi index 51e08ee7..f20cbcf8 100644 --- a/rbi/finch_api/models/provider.rbi +++ b/rbi/finch_api/models/provider.rbi @@ -3,7 +3,8 @@ module FinchAPI module Models class Provider < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias { T.any(FinchAPI::Provider, FinchAPI::Internal::AnyHash) } # The id of the payroll provider used in Connect. sig { returns(T.nilable(String)) } @@ -147,7 +148,12 @@ module FinchAPI class AuthenticationMethod < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod, + FinchAPI::Internal::AnyHash + ) + end # Each benefit type and their supported features. If the benefit type is not # supported, the property will be null @@ -235,7 +241,12 @@ module FinchAPI class SupportedFields < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -411,7 +422,12 @@ module FinchAPI class Company < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Company, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -565,7 +581,12 @@ module FinchAPI class Accounts < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Company::Accounts, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :account_name @@ -632,7 +653,12 @@ module FinchAPI class Departments < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Company::Departments, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :name @@ -682,7 +708,10 @@ module FinchAPI class Parent < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Company::Departments::Parent, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -703,7 +732,12 @@ module FinchAPI class Entity < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Company::Entity, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :subtype @@ -734,7 +768,12 @@ module FinchAPI class Locations < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Company::Locations, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :city @@ -811,7 +850,12 @@ module FinchAPI class Directory < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Directory, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -873,7 +917,12 @@ module FinchAPI class Individuals < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Directory::Individuals, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -971,7 +1020,10 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Directory::Individuals::Manager, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -992,7 +1044,12 @@ module FinchAPI class Paging < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Directory::Paging, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :count @@ -1024,7 +1081,12 @@ module FinchAPI class Employment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Employment, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -1263,7 +1325,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Employment::Department, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :name @@ -1282,7 +1349,12 @@ module FinchAPI class Employment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Employment::Employment, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :subtype @@ -1313,7 +1385,12 @@ module FinchAPI class Income < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Employment::Income, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :amount @@ -1354,7 +1431,12 @@ module FinchAPI class Location < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Employment::Location, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :city @@ -1430,7 +1512,12 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Employment::Manager, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -1450,7 +1537,12 @@ module FinchAPI class Individual < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Individual, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -1627,7 +1719,12 @@ module FinchAPI class Emails < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Individual::Emails, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :data @@ -1656,7 +1753,12 @@ module FinchAPI class PhoneNumbers < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Individual::PhoneNumbers, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :data @@ -1685,7 +1787,12 @@ module FinchAPI class Residence < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Individual::Residence, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :city @@ -1762,7 +1869,12 @@ module FinchAPI class PayGroup < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::PayGroup, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -1820,7 +1932,12 @@ module FinchAPI class PayStatement < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::PayStatement, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -1882,7 +1999,12 @@ module FinchAPI class Paging < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::PayStatement::Paging, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T::Boolean) } attr_accessor :count @@ -1907,7 +2029,12 @@ module FinchAPI class PayStatements < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::PayStatement::PayStatements, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -2071,7 +2198,10 @@ module FinchAPI class Earnings < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::PayStatement::PayStatements::Earnings, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -2126,7 +2256,10 @@ module FinchAPI class EmployeeDeductions < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::PayStatement::PayStatements::EmployeeDeductions, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -2195,7 +2328,10 @@ module FinchAPI class EmployerContributions < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::PayStatement::PayStatements::EmployerContributions, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -2242,7 +2378,10 @@ module FinchAPI class Taxes < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::PayStatement::PayStatements::Taxes, + FinchAPI::Internal::AnyHash + ) end sig { returns(T.nilable(T::Boolean)) } @@ -2312,7 +2451,12 @@ module FinchAPI class Payment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Payment, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :id @@ -2454,7 +2598,12 @@ module FinchAPI class PayPeriod < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Provider::AuthenticationMethod::SupportedFields::Payment::PayPeriod, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(T::Boolean)) } attr_reader :end_date diff --git a/rbi/finch_api/models/provider_list_params.rbi b/rbi/finch_api/models/provider_list_params.rbi index ca67a1b1..1f95177b 100644 --- a/rbi/finch_api/models/provider_list_params.rbi +++ b/rbi/finch_api/models/provider_list_params.rbi @@ -6,7 +6,10 @@ module FinchAPI extend FinchAPI::Internal::Type::RequestParameters::Converter include FinchAPI::Internal::Type::RequestParameters - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::ProviderListParams, FinchAPI::Internal::AnyHash) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/request_forwarding_forward_params.rbi b/rbi/finch_api/models/request_forwarding_forward_params.rbi index 8ec580dd..077e7160 100644 --- a/rbi/finch_api/models/request_forwarding_forward_params.rbi +++ b/rbi/finch_api/models/request_forwarding_forward_params.rbi @@ -6,7 +6,13 @@ module FinchAPI extend FinchAPI::Internal::Type::RequestParameters::Converter include FinchAPI::Internal::Type::RequestParameters - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any( + FinchAPI::RequestForwardingForwardParams, + FinchAPI::Internal::AnyHash + ) + end # The HTTP method for the forwarded request. Valid values include: `GET` , `POST` # , `PUT` , `DELETE` , and `PATCH`. diff --git a/rbi/finch_api/models/request_forwarding_forward_response.rbi b/rbi/finch_api/models/request_forwarding_forward_response.rbi index 2c0ac2e7..85f514a3 100644 --- a/rbi/finch_api/models/request_forwarding_forward_response.rbi +++ b/rbi/finch_api/models/request_forwarding_forward_response.rbi @@ -3,7 +3,13 @@ module FinchAPI module Models class RequestForwardingForwardResponse < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any( + FinchAPI::Models::RequestForwardingForwardResponse, + FinchAPI::Internal::AnyHash + ) + end # A string representation of the HTTP response body of the forwarded request’s # response received from the underlying integration’s API. This field may be null @@ -78,7 +84,12 @@ module FinchAPI class Request < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::RequestForwardingForwardResponse::Request, + FinchAPI::Internal::AnyHash + ) + end # The body that was specified for the forwarded request. If a value was not # specified in the original request, this value will be returned as null ; diff --git a/rbi/finch_api/models/sandbox/company_update_params.rbi b/rbi/finch_api/models/sandbox/company_update_params.rbi index 58410a68..265c165f 100644 --- a/rbi/finch_api/models/sandbox/company_update_params.rbi +++ b/rbi/finch_api/models/sandbox/company_update_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::CompanyUpdateParams, + FinchAPI::Internal::AnyHash + ) + end # An array of bank account objects associated with the payroll/HRIS system. sig do @@ -142,7 +147,12 @@ module FinchAPI class Account < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::CompanyUpdateParams::Account, + FinchAPI::Internal::AnyHash + ) + end # The name of the bank associated in the payroll/HRIS system. sig { returns(T.nilable(String)) } @@ -253,7 +263,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::CompanyUpdateParams::Department, + FinchAPI::Internal::AnyHash + ) + end # The department name. sig { returns(T.nilable(String)) } @@ -312,7 +327,12 @@ module FinchAPI class Parent < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::CompanyUpdateParams::Department::Parent, + FinchAPI::Internal::AnyHash + ) + end # The parent department's name. sig { returns(T.nilable(String)) } @@ -334,7 +354,12 @@ module FinchAPI class Entity < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::CompanyUpdateParams::Entity, + FinchAPI::Internal::AnyHash + ) + end # The tax payer subtype of the company. sig do diff --git a/rbi/finch_api/models/sandbox/company_update_response.rbi b/rbi/finch_api/models/sandbox/company_update_response.rbi index 85ff5ddb..0708ea38 100644 --- a/rbi/finch_api/models/sandbox/company_update_response.rbi +++ b/rbi/finch_api/models/sandbox/company_update_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Sandbox class CompanyUpdateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::CompanyUpdateResponse, + FinchAPI::Internal::AnyHash + ) + end # An array of bank account objects associated with the payroll/HRIS system. sig do @@ -153,7 +158,12 @@ module FinchAPI class Account < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::CompanyUpdateResponse::Account, + FinchAPI::Internal::AnyHash + ) + end # The name of the bank associated in the payroll/HRIS system. sig { returns(T.nilable(String)) } @@ -264,7 +274,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::CompanyUpdateResponse::Department, + FinchAPI::Internal::AnyHash + ) + end # The department name. sig { returns(T.nilable(String)) } @@ -323,7 +338,12 @@ module FinchAPI class Parent < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::CompanyUpdateResponse::Department::Parent, + FinchAPI::Internal::AnyHash + ) + end # The parent department's name. sig { returns(T.nilable(String)) } @@ -345,7 +365,12 @@ module FinchAPI class Entity < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::CompanyUpdateResponse::Entity, + FinchAPI::Internal::AnyHash + ) + end # The tax payer subtype of the company. sig do diff --git a/rbi/finch_api/models/sandbox/connection_create_params.rbi b/rbi/finch_api/models/sandbox/connection_create_params.rbi index 122ace5b..2d22c88f 100644 --- a/rbi/finch_api/models/sandbox/connection_create_params.rbi +++ b/rbi/finch_api/models/sandbox/connection_create_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::ConnectionCreateParams, + FinchAPI::Internal::AnyHash + ) + end # The provider associated with the connection sig { returns(String) } diff --git a/rbi/finch_api/models/sandbox/connection_create_response.rbi b/rbi/finch_api/models/sandbox/connection_create_response.rbi index d6ded80c..f1ae7d81 100644 --- a/rbi/finch_api/models/sandbox/connection_create_response.rbi +++ b/rbi/finch_api/models/sandbox/connection_create_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Sandbox class ConnectionCreateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::ConnectionCreateResponse, + FinchAPI::Internal::AnyHash + ) + end sig { returns(String) } attr_accessor :access_token diff --git a/rbi/finch_api/models/sandbox/connections/account_create_params.rbi b/rbi/finch_api/models/sandbox/connections/account_create_params.rbi index fe57f7df..e51f919a 100644 --- a/rbi/finch_api/models/sandbox/connections/account_create_params.rbi +++ b/rbi/finch_api/models/sandbox/connections/account_create_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::Connections::AccountCreateParams, + FinchAPI::Internal::AnyHash + ) + end sig { returns(String) } attr_accessor :company_id diff --git a/rbi/finch_api/models/sandbox/connections/account_create_response.rbi b/rbi/finch_api/models/sandbox/connections/account_create_response.rbi index e46aba9a..17d70435 100644 --- a/rbi/finch_api/models/sandbox/connections/account_create_response.rbi +++ b/rbi/finch_api/models/sandbox/connections/account_create_response.rbi @@ -6,7 +6,12 @@ module FinchAPI module Connections class AccountCreateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::Connections::AccountCreateResponse, + FinchAPI::Internal::AnyHash + ) + end sig { returns(String) } attr_accessor :access_token diff --git a/rbi/finch_api/models/sandbox/connections/account_update_params.rbi b/rbi/finch_api/models/sandbox/connections/account_update_params.rbi index 6881f0e9..13d8cb5c 100644 --- a/rbi/finch_api/models/sandbox/connections/account_update_params.rbi +++ b/rbi/finch_api/models/sandbox/connections/account_update_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::Connections::AccountUpdateParams, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(FinchAPI::ConnectionStatusType::OrSymbol)) } attr_reader :connection_status diff --git a/rbi/finch_api/models/sandbox/connections/account_update_response.rbi b/rbi/finch_api/models/sandbox/connections/account_update_response.rbi index 346c3537..41f0b3f3 100644 --- a/rbi/finch_api/models/sandbox/connections/account_update_response.rbi +++ b/rbi/finch_api/models/sandbox/connections/account_update_response.rbi @@ -6,7 +6,12 @@ module FinchAPI module Connections class AccountUpdateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::Connections::AccountUpdateResponse, + FinchAPI::Internal::AnyHash + ) + end # [DEPRECATED] Use `connection_id` to associate a connection with an access token sig { returns(String) } diff --git a/rbi/finch_api/models/sandbox/directory_create_params.rbi b/rbi/finch_api/models/sandbox/directory_create_params.rbi index 542a66bc..a1db145b 100644 --- a/rbi/finch_api/models/sandbox/directory_create_params.rbi +++ b/rbi/finch_api/models/sandbox/directory_create_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::DirectoryCreateParams, + FinchAPI::Internal::AnyHash + ) + end # Array of individuals to create. Takes all combined fields from `/individual` and # `/employment` endpoints. All fields are optional. @@ -55,7 +60,12 @@ module FinchAPI class Body < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::DirectoryCreateParams::Body, + FinchAPI::Internal::AnyHash + ) + end # Worker's compensation classification code for this employee sig { returns(T.nilable(String)) } @@ -472,7 +482,12 @@ module FinchAPI class CustomField < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::DirectoryCreateParams::Body::CustomField, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :name @@ -500,7 +515,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::DirectoryCreateParams::Body::Department, + FinchAPI::Internal::AnyHash + ) + end # The name of the department associated with the individual. sig { returns(T.nilable(String)) } @@ -521,7 +541,12 @@ module FinchAPI class Email < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::DirectoryCreateParams::Body::Email, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_reader :data @@ -601,7 +626,12 @@ module FinchAPI class Employment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::DirectoryCreateParams::Body::Employment, + FinchAPI::Internal::AnyHash + ) + end # The secondary employment type of the individual. Options: `full_time`, # `part_time`, `intern`, `temp`, `seasonal` and `individual_contractor`. @@ -927,7 +957,12 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::DirectoryCreateParams::Body::Manager, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(T.nilable(String)) } @@ -951,7 +986,12 @@ module FinchAPI class PhoneNumber < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::DirectoryCreateParams::Body::PhoneNumber, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :data diff --git a/rbi/finch_api/models/sandbox/employment_update_params.rbi b/rbi/finch_api/models/sandbox/employment_update_params.rbi index bfd932a7..c63b7232 100644 --- a/rbi/finch_api/models/sandbox/employment_update_params.rbi +++ b/rbi/finch_api/models/sandbox/employment_update_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::EmploymentUpdateParams, + FinchAPI::Internal::AnyHash + ) + end # Worker's compensation classification code for this employee sig { returns(T.nilable(String)) } @@ -276,7 +281,12 @@ module FinchAPI class CustomField < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::EmploymentUpdateParams::CustomField, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :name @@ -304,7 +314,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::EmploymentUpdateParams::Department, + FinchAPI::Internal::AnyHash + ) + end # The name of the department associated with the individual. sig { returns(T.nilable(String)) } @@ -325,7 +340,12 @@ module FinchAPI class Employment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::EmploymentUpdateParams::Employment, + FinchAPI::Internal::AnyHash + ) + end # The secondary employment type of the individual. Options: `full_time`, # `part_time`, `intern`, `temp`, `seasonal` and `individual_contractor`. @@ -541,7 +561,12 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::EmploymentUpdateParams::Manager, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/sandbox/employment_update_response.rbi b/rbi/finch_api/models/sandbox/employment_update_response.rbi index c04017b7..308d3fd6 100644 --- a/rbi/finch_api/models/sandbox/employment_update_response.rbi +++ b/rbi/finch_api/models/sandbox/employment_update_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Sandbox class EmploymentUpdateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::EmploymentUpdateResponse, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(T.nilable(String)) } @@ -293,7 +298,12 @@ module FinchAPI class CustomField < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::EmploymentUpdateResponse::CustomField, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :name @@ -321,7 +331,12 @@ module FinchAPI class Department < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::EmploymentUpdateResponse::Department, + FinchAPI::Internal::AnyHash + ) + end # The name of the department associated with the individual. sig { returns(T.nilable(String)) } @@ -342,7 +357,12 @@ module FinchAPI class Employment < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::EmploymentUpdateResponse::Employment, + FinchAPI::Internal::AnyHash + ) + end # The secondary employment type of the individual. Options: `full_time`, # `part_time`, `intern`, `temp`, `seasonal` and `individual_contractor`. @@ -558,7 +578,12 @@ module FinchAPI class Manager < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::EmploymentUpdateResponse::Manager, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(T.nilable(String)) } diff --git a/rbi/finch_api/models/sandbox/individual_update_params.rbi b/rbi/finch_api/models/sandbox/individual_update_params.rbi index a6b8a9f1..76c3b06c 100644 --- a/rbi/finch_api/models/sandbox/individual_update_params.rbi +++ b/rbi/finch_api/models/sandbox/individual_update_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::IndividualUpdateParams, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :dob @@ -195,7 +200,12 @@ module FinchAPI class Email < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::IndividualUpdateParams::Email, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_reader :data @@ -382,7 +392,12 @@ module FinchAPI class PhoneNumber < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::IndividualUpdateParams::PhoneNumber, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :data diff --git a/rbi/finch_api/models/sandbox/individual_update_response.rbi b/rbi/finch_api/models/sandbox/individual_update_response.rbi index c3f3a3bf..2b7eaf22 100644 --- a/rbi/finch_api/models/sandbox/individual_update_response.rbi +++ b/rbi/finch_api/models/sandbox/individual_update_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Sandbox class IndividualUpdateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::IndividualUpdateResponse, + FinchAPI::Internal::AnyHash + ) + end # A stable Finch `id` (UUID v4) for an individual in the company. sig { returns(T.nilable(String)) } @@ -204,7 +209,12 @@ module FinchAPI class Email < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::IndividualUpdateResponse::Email, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_reader :data @@ -394,7 +404,12 @@ module FinchAPI class PhoneNumber < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::IndividualUpdateResponse::PhoneNumber, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_accessor :data diff --git a/rbi/finch_api/models/sandbox/job_create_params.rbi b/rbi/finch_api/models/sandbox/job_create_params.rbi index c819c197..224549b1 100644 --- a/rbi/finch_api/models/sandbox/job_create_params.rbi +++ b/rbi/finch_api/models/sandbox/job_create_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::JobCreateParams, + FinchAPI::Internal::AnyHash + ) + end # The type of job to start. Currently the only supported type is `data_sync_all` sig { returns(FinchAPI::Sandbox::JobCreateParams::Type::OrSymbol) } diff --git a/rbi/finch_api/models/sandbox/job_create_response.rbi b/rbi/finch_api/models/sandbox/job_create_response.rbi index 25004398..c6004498 100644 --- a/rbi/finch_api/models/sandbox/job_create_response.rbi +++ b/rbi/finch_api/models/sandbox/job_create_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Sandbox class JobCreateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::JobCreateResponse, + FinchAPI::Internal::AnyHash + ) + end # The number of allowed refreshes per hour (per hour, fixed window) sig { returns(Integer) } diff --git a/rbi/finch_api/models/sandbox/jobs/configuration_retrieve_params.rbi b/rbi/finch_api/models/sandbox/jobs/configuration_retrieve_params.rbi index 60578aec..422b840a 100644 --- a/rbi/finch_api/models/sandbox/jobs/configuration_retrieve_params.rbi +++ b/rbi/finch_api/models/sandbox/jobs/configuration_retrieve_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::Jobs::ConfigurationRetrieveParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/sandbox/jobs/configuration_update_params.rbi b/rbi/finch_api/models/sandbox/jobs/configuration_update_params.rbi index af721a6f..87047cbc 100644 --- a/rbi/finch_api/models/sandbox/jobs/configuration_update_params.rbi +++ b/rbi/finch_api/models/sandbox/jobs/configuration_update_params.rbi @@ -9,7 +9,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::Jobs::ConfigurationUpdateParams, + FinchAPI::Internal::AnyHash + ) + end sig do params(request_options: FinchAPI::RequestOptions::OrHash).returns( diff --git a/rbi/finch_api/models/sandbox/jobs/sandbox_job_configuration.rbi b/rbi/finch_api/models/sandbox/jobs/sandbox_job_configuration.rbi index 14ec6ae3..af55a9b2 100644 --- a/rbi/finch_api/models/sandbox/jobs/sandbox_job_configuration.rbi +++ b/rbi/finch_api/models/sandbox/jobs/sandbox_job_configuration.rbi @@ -6,7 +6,12 @@ module FinchAPI module Jobs class SandboxJobConfiguration < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::Jobs::SandboxJobConfiguration, + FinchAPI::Internal::AnyHash + ) + end sig do returns( diff --git a/rbi/finch_api/models/sandbox/payment_create_params.rbi b/rbi/finch_api/models/sandbox/payment_create_params.rbi index c7abb730..848d5389 100644 --- a/rbi/finch_api/models/sandbox/payment_create_params.rbi +++ b/rbi/finch_api/models/sandbox/payment_create_params.rbi @@ -8,7 +8,12 @@ module FinchAPI include FinchAPI::Internal::Type::RequestParameters OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams, + FinchAPI::Internal::AnyHash + ) + end sig { returns(T.nilable(String)) } attr_reader :end_date @@ -76,7 +81,12 @@ module FinchAPI class PayStatement < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement, + FinchAPI::Internal::AnyHash + ) + end # The array of earnings objects associated with this pay statement sig do @@ -300,7 +310,12 @@ module FinchAPI class Earning < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning, + FinchAPI::Internal::AnyHash + ) + end # The earnings amount in cents. sig { returns(T.nilable(Integer)) } @@ -403,7 +418,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -445,7 +465,10 @@ module FinchAPI class Metadata < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) end # The metadata to be attached to the entity by existing rules. It is a key-value @@ -577,7 +600,12 @@ module FinchAPI class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction, + FinchAPI::Internal::AnyHash + ) + end # The deduction amount in cents. sig { returns(T.nilable(Integer)) } @@ -666,7 +694,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -708,7 +741,10 @@ module FinchAPI class Metadata < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) end # The metadata to be attached to the entity by existing rules. It is a key-value @@ -750,7 +786,12 @@ module FinchAPI class EmployerContribution < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution, + FinchAPI::Internal::AnyHash + ) + end # The contribution amount in cents. sig { returns(T.nilable(Integer)) } @@ -831,7 +872,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -873,7 +919,10 @@ module FinchAPI class Metadata < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) end # The metadata to be attached to the entity by existing rules. It is a key-value @@ -950,7 +999,12 @@ module FinchAPI class Tax < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax, + FinchAPI::Internal::AnyHash + ) + end # The tax amount in cents. sig { returns(T.nilable(Integer)) } @@ -1051,7 +1105,12 @@ module FinchAPI class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, + FinchAPI::Internal::AnyHash + ) + end sig do returns( @@ -1093,7 +1152,10 @@ module FinchAPI class Metadata < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(T.self_type, FinchAPI::Internal::AnyHash) + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) end # The metadata to be attached to the entity by existing rules. It is a key-value diff --git a/rbi/finch_api/models/sandbox/payment_create_response.rbi b/rbi/finch_api/models/sandbox/payment_create_response.rbi index 0026d74c..654c74b4 100644 --- a/rbi/finch_api/models/sandbox/payment_create_response.rbi +++ b/rbi/finch_api/models/sandbox/payment_create_response.rbi @@ -5,7 +5,12 @@ module FinchAPI module Sandbox class PaymentCreateResponse < FinchAPI::Internal::Type::BaseModel OrHash = - T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + T.type_alias do + T.any( + FinchAPI::Models::Sandbox::PaymentCreateResponse, + FinchAPI::Internal::AnyHash + ) + end # The date of the payment. sig { returns(String) } diff --git a/rbi/finch_api/request_options.rbi b/rbi/finch_api/request_options.rbi index 75da1f93..1fb7a7c9 100644 --- a/rbi/finch_api/request_options.rbi +++ b/rbi/finch_api/request_options.rbi @@ -7,7 +7,10 @@ module FinchAPI # When making a request, you can pass an actual {RequestOptions} instance, or # simply pass a Hash with symbol keys matching the attributes on this class. class RequestOptions < FinchAPI::Internal::Type::BaseModel - OrHash = T.type_alias { T.any(T.self_type, FinchAPI::Internal::AnyHash) } + OrHash = + T.type_alias do + T.any(FinchAPI::RequestOptions, FinchAPI::Internal::AnyHash) + end # @api private sig { params(opts: FinchAPI::RequestOptions::OrHash).void } diff --git a/sig/finch_api/internal.rbs b/sig/finch_api/internal.rbs index 2705b868..989f54a7 100644 --- a/sig/finch_api/internal.rbs +++ b/sig/finch_api/internal.rbs @@ -1,5 +1,7 @@ module FinchAPI module Internal + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + OMIT: Object end end diff --git a/sig/finch_api/internal/transport/base_client.rbs b/sig/finch_api/internal/transport/base_client.rbs index 2d9858d4..73626fe8 100644 --- a/sig/finch_api/internal/transport/base_client.rbs +++ b/sig/finch_api/internal/transport/base_client.rbs @@ -2,6 +2,8 @@ module FinchAPI module Internal module Transport class BaseClient + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + type request_components = { method: Symbol, @@ -20,7 +22,6 @@ module FinchAPI model: FinchAPI::Internal::Type::Converter::input?, options: FinchAPI::request_opts? } - type request_input = { method: Symbol, diff --git a/sig/finch_api/internal/transport/pooled_net_requester.rbs b/sig/finch_api/internal/transport/pooled_net_requester.rbs index a6fcef47..f6f86c55 100644 --- a/sig/finch_api/internal/transport/pooled_net_requester.rbs +++ b/sig/finch_api/internal/transport/pooled_net_requester.rbs @@ -2,6 +2,8 @@ module FinchAPI module Internal module Transport class PooledNetRequester + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + type request = { method: Symbol, diff --git a/sig/finch_api/internal/type/array_of.rbs b/sig/finch_api/internal/type/array_of.rbs index c35944b7..aa898c41 100644 --- a/sig/finch_api/internal/type/array_of.rbs +++ b/sig/finch_api/internal/type/array_of.rbs @@ -9,7 +9,7 @@ module FinchAPI | ^-> FinchAPI::Internal::Type::Converter::input | FinchAPI::Internal::Type::Converter::input type_info, ?::Hash[Symbol, top] spec - ) -> instance + ) -> self def ===: (top other) -> bool diff --git a/sig/finch_api/internal/type/base_model.rbs b/sig/finch_api/internal/type/base_model.rbs index 031f5ff8..dfb562c0 100644 --- a/sig/finch_api/internal/type/base_model.rbs +++ b/sig/finch_api/internal/type/base_model.rbs @@ -3,10 +3,13 @@ module FinchAPI module Type class BaseModel extend FinchAPI::Internal::Type::Converter + extend FinchAPI::Internal::Util::SorbetRuntimeSupport type known_field = { mode: (:coerce | :dump)?, required: bool, nilable: bool } + def self.inherited: (self child) -> void + def self.known_fields: -> ::Hash[Symbol, (FinchAPI::Internal::Type::BaseModel::known_field & { type_fn: (^-> FinchAPI::Internal::Type::Converter::input) })] @@ -58,10 +61,10 @@ module FinchAPI def self.coerce: ( FinchAPI::Internal::Type::BaseModel | ::Hash[top, top] | top value, state: FinchAPI::Internal::Type::Converter::coerce_state - ) -> (instance | top) + ) -> (self | top) def self.dump: ( - instance | top value, + self | top value, state: FinchAPI::Internal::Type::Converter::dump_state ) -> (::Hash[top, top] | top) diff --git a/sig/finch_api/internal/type/converter.rbs b/sig/finch_api/internal/type/converter.rbs index a99d5e89..304b7dcf 100644 --- a/sig/finch_api/internal/type/converter.rbs +++ b/sig/finch_api/internal/type/converter.rbs @@ -2,6 +2,8 @@ module FinchAPI module Internal module Type module Converter + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + type input = FinchAPI::Internal::Type::Converter | Class type coerce_state = diff --git a/sig/finch_api/internal/type/enum.rbs b/sig/finch_api/internal/type/enum.rbs index 9db0a5e5..363980da 100644 --- a/sig/finch_api/internal/type/enum.rbs +++ b/sig/finch_api/internal/type/enum.rbs @@ -3,6 +3,7 @@ module FinchAPI module Type module Enum include FinchAPI::Internal::Type::Converter + include FinchAPI::Internal::Util::SorbetRuntimeSupport def self.values: -> ::Array[(nil | bool | Integer | Float | Symbol)] diff --git a/sig/finch_api/internal/type/hash_of.rbs b/sig/finch_api/internal/type/hash_of.rbs index 88c30184..724f3044 100644 --- a/sig/finch_api/internal/type/hash_of.rbs +++ b/sig/finch_api/internal/type/hash_of.rbs @@ -9,7 +9,7 @@ module FinchAPI | ^-> FinchAPI::Internal::Type::Converter::input | FinchAPI::Internal::Type::Converter::input type_info, ?::Hash[Symbol, top] spec - ) -> instance + ) -> self def ===: (top other) -> bool diff --git a/sig/finch_api/internal/type/union.rbs b/sig/finch_api/internal/type/union.rbs index 2b42c3ef..1517c991 100644 --- a/sig/finch_api/internal/type/union.rbs +++ b/sig/finch_api/internal/type/union.rbs @@ -3,6 +3,7 @@ module FinchAPI module Type module Union include FinchAPI::Internal::Type::Converter + include FinchAPI::Internal::Util::SorbetRuntimeSupport private def self.known_variants: -> ::Array[[Symbol?, (^-> FinchAPI::Internal::Type::Converter::input)]] diff --git a/sig/finch_api/internal/util.rbs b/sig/finch_api/internal/util.rbs index c9605c99..a2adf4fc 100644 --- a/sig/finch_api/internal/util.rbs +++ b/sig/finch_api/internal/util.rbs @@ -1,6 +1,8 @@ module FinchAPI module Internal module Util + extend FinchAPI::Internal::Util::SorbetRuntimeSupport + def self?.monotonic_secs: -> Float def self?.arch: -> String @@ -155,6 +157,17 @@ module FinchAPI def self?.decode_sse: ( Enumerable[String] lines ) -> Enumerable[FinchAPI::Internal::Util::server_sent_event] + + module SorbetRuntimeSupport + class MissingSorbetRuntimeError < ::RuntimeError + end + + private def sorbet_runtime_constants: -> ::Hash[Symbol, top] + + def const_missing: (Symbol name) -> void + + def define_sorbet_constant!: (Symbol name) { -> top } -> void + end end end end diff --git a/test/finch_api/client_test.rb b/test/finch_api/client_test.rb index 54a36d04..5208163f 100644 --- a/test/finch_api/client_test.rb +++ b/test/finch_api/client_test.rb @@ -3,14 +3,9 @@ require_relative "test_helper" class FinchAPITest < Minitest::Test + extend Minitest::Serial include WebMock::API - class << self - def test_order = :random - - def run_one_method(...) = Minitest::Runnable.run_one_method(...) - end - def before_all super WebMock.enable! diff --git a/test/finch_api/internal/sorbet_runtime_support_test.rb b/test/finch_api/internal/sorbet_runtime_support_test.rb new file mode 100644 index 00000000..2815cf86 --- /dev/null +++ b/test/finch_api/internal/sorbet_runtime_support_test.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +require_relative "../test_helper" + +class FinchAPI::Test::SorbetRuntimeSupportTest < Minitest::Test + i_suck_and_my_tests_are_order_dependent! + + module E + extend FinchAPI::Internal::Type::Enum + + define_sorbet_constant!(:TaggedSymbol) { 1 } + end + + module U + extend FinchAPI::Internal::Type::Union + + define_sorbet_constant!(:Variants) { 2 } + end + + class M < FinchAPI::Internal::Type::BaseModel + define_sorbet_constant!(:OrHash) { 3 } + end + + def test_nil_aliases + err = FinchAPI::Internal::Util::SorbetRuntimeSupport::MissingSorbetRuntimeError + + assert_raises(err) { FinchAPI::Internal::AnyHash } + assert_raises(err) { FinchAPI::Internal::Type::Converter::Input } + assert_raises(err) { FinchAPI::Internal::Type::Converter::CoerceState } + assert_raises(err) { FinchAPI::Internal::Type::Converter::DumpState } + assert_raises(err) { FinchAPI::Internal::Type::BaseModel::KnownField } + assert_raises(err) { FinchAPI::Internal::Util::ParsedUri } + assert_raises(err) { FinchAPI::Internal::Util::ServerSentEvent } + assert_raises(err) { FinchAPI::Internal::Transport::BaseClient::RequestComponents } + assert_raises(err) { FinchAPI::Internal::Transport::BaseClient::RequestInput } + assert_raises(err) { FinchAPI::Internal::Transport::PooledNetRequester::Request } + assert_raises(err) { E::TaggedSymbol } + assert_raises(err) { U::Variants } + assert_raises(err) { M::OrHash } + end + + def test_stubbed_aliases + Kernel.instance_eval { const_set(:T, nil) } + + assert_equal(1, E::TaggedSymbol) + assert_equal(2, U::Variants) + assert_equal(3, M::OrHash) + end +end diff --git a/test/finch_api/test_helper.rb b/test/finch_api/test_helper.rb index 3f5ffc15..2f623e3b 100644 --- a/test/finch_api/test_helper.rb +++ b/test/finch_api/test_helper.rb @@ -52,6 +52,12 @@ def initialize end end +module Minitest::Serial + def test_order = :random + + def run_one_method(...) = Minitest::Runnable.run_one_method(...) +end + class Minitest::Test include Minitest::Hooks From 9c271edf9374973a70e98774d1f55959181ed6be Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 20:27:23 +0000 Subject: [PATCH 03/12] chore: fix misc linting / minor issues --- .rubocop.yml | 7 ++++++- Rakefile | 2 +- lib/finch_api.rb | 2 ++ lib/finch_api/errors.rb | 2 +- rbi/finch_api/errors.rbi | 2 +- sig/finch_api/internal/single_page.rbs | 2 +- sig/finch_api/internal/type/array_of.rbs | 2 +- sig/finch_api/internal/type/base_model.rbs | 6 +++--- sig/finch_api/internal/type/base_page.rbs | 2 +- sig/finch_api/internal/type/hash_of.rbs | 2 +- 10 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index b50fcd67..7734b33f 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -8,7 +8,7 @@ AllCops: - "bin/*" NewCops: enable SuggestExtensions: false - TargetRubyVersion: 3.1.0 + TargetRubyVersion: 3.2.0 # Whether MFA is required or not should be left to the token configuration. Gemspec/RequireMFA: @@ -112,6 +112,8 @@ Metrics/AbcSize: Metrics/BlockLength: AllowedPatterns: - assert_pattern + - type_alias + - define_sorbet_constant! Exclude: - "**/*.rbi" @@ -182,6 +184,9 @@ Style/ClassAndModuleChildren: Exclude: - "test/**/*" +Style/CommentAnnotation: + Enabled: false + # We should go back and add these docs, but ignore for now. Style/Documentation: Enabled: false diff --git a/Rakefile b/Rakefile index 8361a8b9..fe1523b8 100644 --- a/Rakefile +++ b/Rakefile @@ -41,7 +41,7 @@ desc("Lint `*.rb(i)`") multitask(:"lint:rubocop") do find = %w[find ./lib ./test ./rbi -type f -and ( -name *.rb -or -name *.rbi ) -print0] - rubocop = %w[rubocop --fail-level E] + rubocop = %w[rubocop] rubocop += %w[--format github] if ENV.key?("CI") # some lines cannot be shortened diff --git a/lib/finch_api.rb b/lib/finch_api.rb index d5161c9f..a7b1341f 100644 --- a/lib/finch_api.rb +++ b/lib/finch_api.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true # Standard libraries. +# rubocop:disable Lint/RedundantRequireStatement require "English" require "cgi" require "date" @@ -15,6 +16,7 @@ require "stringio" require "time" require "uri" +# rubocop:enable Lint/RedundantRequireStatement # We already ship the preferred sorbet manifests in the package itself. # `tapioca` currently does not offer us a way to opt out of unnecessary compilation. diff --git a/lib/finch_api/errors.rb b/lib/finch_api/errors.rb index f11eb03d..db324534 100644 --- a/lib/finch_api/errors.rb +++ b/lib/finch_api/errors.rb @@ -99,7 +99,7 @@ class APIStatusError < FinchAPI::Errors::APIError # @param response [nil] # @param message [String, nil] # - # @return [FinchAPI::Errors::APIStatusError] + # @return [self] def self.for(url:, status:, body:, request:, response:, message: nil) kwargs = { url: url, diff --git a/rbi/finch_api/errors.rbi b/rbi/finch_api/errors.rbi index fd62d810..205195c6 100644 --- a/rbi/finch_api/errors.rbi +++ b/rbi/finch_api/errors.rbi @@ -104,7 +104,7 @@ module FinchAPI request: NilClass, response: NilClass, message: T.nilable(String) - ).returns(T.self_type) + ).returns(T.attached_class) end def self.for(url:, status:, body:, request:, response:, message: nil) end diff --git a/sig/finch_api/internal/single_page.rbs b/sig/finch_api/internal/single_page.rbs index d3a79153..42d40949 100644 --- a/sig/finch_api/internal/single_page.rbs +++ b/sig/finch_api/internal/single_page.rbs @@ -5,7 +5,7 @@ module FinchAPI def next_page?: -> bool - def next_page: -> self + def next_page: -> instance def auto_paging_each: { (Elem arg0) -> void } -> void diff --git a/sig/finch_api/internal/type/array_of.rbs b/sig/finch_api/internal/type/array_of.rbs index aa898c41..c35944b7 100644 --- a/sig/finch_api/internal/type/array_of.rbs +++ b/sig/finch_api/internal/type/array_of.rbs @@ -9,7 +9,7 @@ module FinchAPI | ^-> FinchAPI::Internal::Type::Converter::input | FinchAPI::Internal::Type::Converter::input type_info, ?::Hash[Symbol, top] spec - ) -> self + ) -> instance def ===: (top other) -> bool diff --git a/sig/finch_api/internal/type/base_model.rbs b/sig/finch_api/internal/type/base_model.rbs index dfb562c0..db0845db 100644 --- a/sig/finch_api/internal/type/base_model.rbs +++ b/sig/finch_api/internal/type/base_model.rbs @@ -61,10 +61,10 @@ module FinchAPI def self.coerce: ( FinchAPI::Internal::Type::BaseModel | ::Hash[top, top] | top value, state: FinchAPI::Internal::Type::Converter::coerce_state - ) -> (self | top) + ) -> (instance | top) def self.dump: ( - self | top value, + instance | top value, state: FinchAPI::Internal::Type::Converter::dump_state ) -> (::Hash[top, top] | top) @@ -84,7 +84,7 @@ module FinchAPI def to_yaml: (*top a) -> String - def initialize: (?::Hash[Symbol, top] | self data) -> void + def initialize: (?::Hash[Symbol, top] | instance data) -> void def self.inspect: (?depth: Integer) -> String diff --git a/sig/finch_api/internal/type/base_page.rbs b/sig/finch_api/internal/type/base_page.rbs index 8ac650c6..e7c99538 100644 --- a/sig/finch_api/internal/type/base_page.rbs +++ b/sig/finch_api/internal/type/base_page.rbs @@ -4,7 +4,7 @@ module FinchAPI module BasePage[Elem] def next_page?: -> bool - def next_page: -> self + def next_page: -> instance def auto_paging_each: { (Elem arg0) -> void } -> void diff --git a/sig/finch_api/internal/type/hash_of.rbs b/sig/finch_api/internal/type/hash_of.rbs index 724f3044..88c30184 100644 --- a/sig/finch_api/internal/type/hash_of.rbs +++ b/sig/finch_api/internal/type/hash_of.rbs @@ -9,7 +9,7 @@ module FinchAPI | ^-> FinchAPI::Internal::Type::Converter::input | FinchAPI::Internal::Type::Converter::input type_info, ?::Hash[Symbol, top] spec - ) -> self + ) -> instance def ===: (top other) -> bool From 03335a6a67ce9176fecdafc79c98ddeb22210803 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 21:25:48 +0000 Subject: [PATCH 04/12] feat: expose recursive `#to_h` conversion --- lib/finch_api/internal/type/base_model.rb | 71 ++++++++++++++-------- rbi/finch_api/internal/type/base_model.rbi | 29 +++++---- sig/finch_api/internal/type/base_model.rbs | 11 ++-- 3 files changed, 71 insertions(+), 40 deletions(-) diff --git a/lib/finch_api/internal/type/base_model.rb b/lib/finch_api/internal/type/base_model.rb index 6ca8eddb..d1eb37b8 100644 --- a/lib/finch_api/internal/type/base_model.rb +++ b/lib/finch_api/internal/type/base_model.rb @@ -313,6 +313,39 @@ def dump(value, state:) end end + class << self + # @api private + # + # @param model [FinchAPI::Internal::Type::BaseModel] + # @param convert [Boolean] + # + # @return [Hash{Symbol=>Object}] + def recursively_to_h(model, convert:) + rec = ->(x) do + case x + in FinchAPI::Internal::Type::BaseModel + if convert + fields = x.class.known_fields + x.to_h.to_h do |key, val| + [key, rec.call(fields.key?(key) ? x.public_send(key) : val)] + rescue FinchAPI::Errors::ConversionError + [key, rec.call(val)] + end + else + rec.call(x.to_h) + end + in Hash + x.transform_values(&rec) + in Array + x.map(&rec) + else + x + end + end + rec.call(model) + end + end + # @api public # # Returns the raw value associated with the given key, if found. Otherwise, nil is @@ -349,6 +382,14 @@ def to_h = @data alias_method :to_hash, :to_h + # @api public + # + # In addition to the behaviour of `#to_h`, this method will recursively call + # `#to_h` on nested models. + # + # @return [Hash{Symbol=>Object}] + def deep_to_h = self.class.recursively_to_h(@data, convert: false) + # @param keys [Array, nil] # # @return [Hash{Symbol=>Object}] @@ -364,29 +405,6 @@ def deconstruct_keys(keys) .to_h end - class << self - # @api private - # - # @param model [FinchAPI::Internal::Type::BaseModel] - # - # @return [Hash{Symbol=>Object}] - def walk(model) - walk = ->(x) do - case x - in FinchAPI::Internal::Type::BaseModel - walk.call(x.to_h) - in Hash - x.transform_values(&walk) - in Array - x.map(&walk) - else - x - end - end - walk.call(model) - end - end - # @api public # # @param a [Object] @@ -432,12 +450,15 @@ def inspect(depth: 0) # @api public # # @return [String] - def to_s = self.class.walk(@data).to_s + def to_s = deep_to_h.to_s # @api private # # @return [String] - def inspect = "#<#{self.class}:0x#{object_id.to_s(16)} #{self}>" + def inspect + converted = self.class.recursively_to_h(self, convert: true) + "#<#{self.class}:0x#{object_id.to_s(16)} #{converted}>" + end define_sorbet_constant!(:KnownField) do T.type_alias { {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean} } diff --git a/rbi/finch_api/internal/type/base_model.rbi b/rbi/finch_api/internal/type/base_model.rbi index 8679cdb0..96f27f17 100644 --- a/rbi/finch_api/internal/type/base_model.rbi +++ b/rbi/finch_api/internal/type/base_model.rbi @@ -199,6 +199,18 @@ module FinchAPI end end + class << self + # @api private + sig do + params( + model: FinchAPI::Internal::Type::BaseModel, + convert: T::Boolean + ).returns(FinchAPI::Internal::AnyHash) + end + def recursively_to_h(model, convert:) + end + end + # Returns the raw value associated with the given key, if found. Otherwise, nil is # returned. # @@ -233,6 +245,12 @@ module FinchAPI def to_hash end + # In addition to the behaviour of `#to_h`, this method will recursively call + # `#to_h` on nested models. + sig { overridable.returns(FinchAPI::Internal::AnyHash) } + def deep_to_h + end + sig do params(keys: T.nilable(T::Array[Symbol])).returns( FinchAPI::Internal::AnyHash @@ -241,17 +259,6 @@ module FinchAPI def deconstruct_keys(keys) end - class << self - # @api private - sig do - params(model: FinchAPI::Internal::Type::BaseModel).returns( - FinchAPI::Internal::AnyHash - ) - end - def walk(model) - end - end - sig { params(a: T.anything).returns(String) } def to_json(*a) end diff --git a/sig/finch_api/internal/type/base_model.rbs b/sig/finch_api/internal/type/base_model.rbs index db0845db..3e759953 100644 --- a/sig/finch_api/internal/type/base_model.rbs +++ b/sig/finch_api/internal/type/base_model.rbs @@ -68,17 +68,20 @@ module FinchAPI state: FinchAPI::Internal::Type::Converter::dump_state ) -> (::Hash[top, top] | top) + def self.recursively_to_h: ( + FinchAPI::Internal::Type::BaseModel model, + convert: bool + ) -> ::Hash[Symbol, top] + def []: (Symbol key) -> top? def to_h: -> ::Hash[Symbol, top] alias to_hash to_h - def deconstruct_keys: (::Array[Symbol]? keys) -> ::Hash[Symbol, top] + def deep_to_h: -> ::Hash[Symbol, top] - def self.walk: ( - FinchAPI::Internal::Type::BaseModel model - ) -> ::Hash[Symbol, top] + def deconstruct_keys: (::Array[Symbol]? keys) -> ::Hash[Symbol, top] def to_json: (*top a) -> String From 289fb00361821da703dbc9aab1db9ad8435427e3 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 22:19:41 +0000 Subject: [PATCH 05/12] feat: expose base client options as read only attributes --- .../internal/transport/base_client.rb | 35 ++++++++++++++++--- .../internal/transport/base_client.rbi | 21 +++++++++++ .../internal/transport/base_client.rbs | 14 ++++++++ 3 files changed, 65 insertions(+), 5 deletions(-) diff --git a/lib/finch_api/internal/transport/base_client.rb b/lib/finch_api/internal/transport/base_client.rb index 4eba1f28..42d40224 100644 --- a/lib/finch_api/internal/transport/base_client.rb +++ b/lib/finch_api/internal/transport/base_client.rb @@ -153,6 +153,27 @@ def reap_connection!(status, stream:) end end + # @return [URI::Generic] + attr_reader :base_url + + # @return [Float] + attr_reader :timeout + + # @return [Integer] + attr_reader :max_retries + + # @return [Float] + attr_reader :initial_retry_delay + + # @return [Float] + attr_reader :max_retry_delay + + # @return [Hash{String=>String}] + attr_reader :headers + + # @return [String, nil] + attr_reader :idempotency_header + # @api private # @return [FinchAPI::Internal::Transport::PooledNetRequester] attr_reader :requester @@ -184,10 +205,11 @@ def initialize( }, headers ) - @base_url = FinchAPI::Internal::Util.parse_uri(base_url) + @base_url_components = FinchAPI::Internal::Util.parse_uri(base_url) + @base_url = FinchAPI::Internal::Util.unparse_uri(@base_url_components) @idempotency_header = idempotency_header&.to_s&.downcase - @max_retries = max_retries @timeout = timeout + @max_retries = max_retries @initial_retry_delay = initial_retry_delay @max_retry_delay = max_retry_delay end @@ -278,10 +300,14 @@ def initialize( FinchAPI::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact) end + url = FinchAPI::Internal::Util.join_parsed_uri( + @base_url_components, + {**req, path: path, query: query} + ) headers, encoded = FinchAPI::Internal::Util.encode_content(headers, body) { method: method, - url: FinchAPI::Internal::Util.join_parsed_uri(@base_url, {**req, path: path, query: query}), + url: url, headers: headers, body: encoded, max_retries: opts.fetch(:max_retries, @max_retries), @@ -475,8 +501,7 @@ def request(req) # @return [String] def inspect # rubocop:disable Layout/LineLength - base_url = FinchAPI::Internal::Util.unparse_uri(@base_url) - "#<#{self.class.name}:0x#{object_id.to_s(16)} base_url=#{base_url} max_retries=#{@max_retries} timeout=#{@timeout}>" + "#<#{self.class.name}:0x#{object_id.to_s(16)} base_url=#{@base_url} max_retries=#{@max_retries} timeout=#{@timeout}>" # rubocop:enable Layout/LineLength end diff --git a/rbi/finch_api/internal/transport/base_client.rbi b/rbi/finch_api/internal/transport/base_client.rbi index c0d4f242..0b9f6325 100644 --- a/rbi/finch_api/internal/transport/base_client.rbi +++ b/rbi/finch_api/internal/transport/base_client.rbi @@ -114,6 +114,27 @@ module FinchAPI end end + sig { returns(URI::Generic) } + attr_reader :base_url + + sig { returns(Float) } + attr_reader :timeout + + sig { returns(Integer) } + attr_reader :max_retries + + sig { returns(Float) } + attr_reader :initial_retry_delay + + sig { returns(Float) } + attr_reader :max_retry_delay + + sig { returns(T::Hash[String, String]) } + attr_reader :headers + + sig { returns(T.nilable(String)) } + attr_reader :idempotency_header + # @api private sig { returns(FinchAPI::Internal::Transport::PooledNetRequester) } attr_reader :requester diff --git a/sig/finch_api/internal/transport/base_client.rbs b/sig/finch_api/internal/transport/base_client.rbs index 73626fe8..a7d0e7a3 100644 --- a/sig/finch_api/internal/transport/base_client.rbs +++ b/sig/finch_api/internal/transport/base_client.rbs @@ -56,6 +56,20 @@ module FinchAPI stream: Enumerable[String]? ) -> void + attr_reader base_url: URI::Generic + + attr_reader timeout: Float + + attr_reader max_retries: Integer + + attr_reader initial_retry_delay: Float + + attr_reader max_retry_delay: Float + + attr_reader headers: ::Hash[String, String] + + attr_reader idempotency_header: String? + # @api private attr_reader requester: FinchAPI::Internal::Transport::PooledNetRequester From 70eb6214cf238d92f6b2f23969f252a5e4ce3941 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 14:08:04 +0000 Subject: [PATCH 06/12] fix(internal): update gemspec name --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index fe1523b8..e1688e63 100644 --- a/Rakefile +++ b/Rakefile @@ -147,7 +147,7 @@ multitask(:"build:gem") do sig/* GLOB - sh(*%w[gem build -- openai.gemspec]) + sh(*%w[gem build -- finch_api.gemspec]) rm_rf(ignore_file) end From 2e0e1078e5a29ffb965346cd6f620743f0e4b6db Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 21:29:27 +0000 Subject: [PATCH 07/12] feat: bump default connection pool size limit to minimum of 99 --- lib/finch_api/client.rb | 8 ++++---- lib/finch_api/internal/transport/pooled_net_requester.rb | 4 +++- rbi/finch_api/internal/transport/pooled_net_requester.rbi | 6 +++++- sig/finch_api/internal/transport/pooled_net_requester.rbs | 2 ++ 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/finch_api/client.rb b/lib/finch_api/client.rb index 016325a2..16173744 100644 --- a/lib/finch_api/client.rb +++ b/lib/finch_api/client.rb @@ -103,10 +103,10 @@ def initialize( client_secret: ENV["FINCH_CLIENT_SECRET"], access_token: nil, base_url: ENV["FINCH_BASE_URL"], - max_retries: FinchAPI::Client::DEFAULT_MAX_RETRIES, - timeout: FinchAPI::Client::DEFAULT_TIMEOUT_IN_SECONDS, - initial_retry_delay: FinchAPI::Client::DEFAULT_INITIAL_RETRY_DELAY, - max_retry_delay: FinchAPI::Client::DEFAULT_MAX_RETRY_DELAY + max_retries: self.class::DEFAULT_MAX_RETRIES, + timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS, + initial_retry_delay: self.class::DEFAULT_INITIAL_RETRY_DELAY, + max_retry_delay: self.class::DEFAULT_MAX_RETRY_DELAY ) base_url ||= "https://api.tryfinch.com" diff --git a/lib/finch_api/internal/transport/pooled_net_requester.rb b/lib/finch_api/internal/transport/pooled_net_requester.rb index 4d0a05f6..453207f9 100644 --- a/lib/finch_api/internal/transport/pooled_net_requester.rb +++ b/lib/finch_api/internal/transport/pooled_net_requester.rb @@ -11,6 +11,8 @@ class PooledNetRequester # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49 KEEP_ALIVE_TIMEOUT = 30 + DEFAULT_MAX_CONNECTIONS = [Etc.nprocessors, 99].max + class << self # @api private # @@ -184,7 +186,7 @@ def execute(request) # @api private # # @param size [Integer] - def initialize(size: Etc.nprocessors) + def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS) @mutex = Mutex.new @size = size @pools = {} diff --git a/rbi/finch_api/internal/transport/pooled_net_requester.rbi b/rbi/finch_api/internal/transport/pooled_net_requester.rbi index 0e68c968..3a30451f 100644 --- a/rbi/finch_api/internal/transport/pooled_net_requester.rbi +++ b/rbi/finch_api/internal/transport/pooled_net_requester.rbi @@ -22,6 +22,8 @@ module FinchAPI # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49 KEEP_ALIVE_TIMEOUT = 30 + DEFAULT_MAX_CONNECTIONS = T.let(T.unsafe(nil), Integer) + class << self # @api private sig { params(url: URI::Generic).returns(Net::HTTP) } @@ -67,7 +69,9 @@ module FinchAPI # @api private sig { params(size: Integer).returns(T.attached_class) } - def self.new(size: Etc.nprocessors) + def self.new( + size: FinchAPI::Internal::Transport::PooledNetRequester::DEFAULT_MAX_CONNECTIONS + ) end end end diff --git a/sig/finch_api/internal/transport/pooled_net_requester.rbs b/sig/finch_api/internal/transport/pooled_net_requester.rbs index f6f86c55..7274399e 100644 --- a/sig/finch_api/internal/transport/pooled_net_requester.rbs +++ b/sig/finch_api/internal/transport/pooled_net_requester.rbs @@ -15,6 +15,8 @@ module FinchAPI KEEP_ALIVE_TIMEOUT: 30 + DEFAULT_MAX_CONNECTIONS: Integer + def self.connect: (URI::Generic url) -> top def self.calibrate_socket_timeout: (top conn, Float deadline) -> void From d5fac031d01715a45d40fab30e856e42c601a9a9 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 21:35:43 +0000 Subject: [PATCH 08/12] docs: rewrite much of README.md for readability --- README.md | 143 ++++++++++++++-------- lib/finch_api/internal/type/base_model.rb | 8 ++ 2 files changed, 99 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index e2e7f25f..7beedb6c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Finch Ruby API library -The Finch Ruby library provides convenient access to the Finch REST API from any Ruby 3.2.0+ application. +The Finch Ruby library provides convenient access to the Finch REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/Finch-API/finch-api-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem. It is generated with [Stainless](https://www.stainless.com/). @@ -35,16 +35,6 @@ page = finch.hris.directory.list puts(page.id) ``` -## Sorbet - -This library is written with [Sorbet type definitions](https://sorbet.org/docs/rbi). However, there is no runtime dependency on the `sorbet-runtime`. - -When using sorbet, it is recommended to use model classes as below. This provides stronger type checking and tooling integration. - -```ruby -finch.hris.directory.list -``` - ### Pagination List methods in the Finch API are paginated. @@ -64,15 +54,30 @@ page.auto_paging_each do |directory| end ``` -### Errors +Alternatively, you can use the `#next_page?` and `#next_page` methods for more granular control working with pages. + +```ruby +if page.next_page? + new_page = page.next_page + puts(new_page.individuals[0].id) +end +``` + +### Handling errors When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of `FinchAPI::Errors::APIError` will be thrown: ```ruby begin company = finch.hris.company.retrieve -rescue FinchAPI::Errors::APIError => e - puts(e.status) # 400 +rescue FinchAPI::Errors::APIConnectionError => e + puts("The server could not be reached") + puts(e.cause) # an underlying Exception, likely raised within `net/http` +rescue FinchAPI::Errors::RateLimitError => e + puts("A 429 status code was received; we should back off a bit.") +rescue FinchAPI::Errors::APIStatusError => e + puts("Another non-200-range status code was received") + puts(e.status) end ``` @@ -112,11 +117,7 @@ finch.hris.directory.list(request_options: {max_retries: 5}) ### Timeouts -By default, requests will time out after 60 seconds. - -Timeouts are applied separately to the initial connection and the overall request time, so in some cases a request could wait 2\*timeout seconds before it fails. - -You can use the `timeout` option to configure or disable this: +By default, requests will time out after 60 seconds. You can use the timeout option to configure or disable this: ```ruby # Configure the default for all requests: @@ -128,39 +129,52 @@ finch = FinchAPI::Client.new( finch.hris.directory.list(request_options: {timeout: 5}) ``` -## Model DSL +On timeout, `FinchAPI::Errors::APITimeoutError` is raised. + +Note that requests that time out are retried by default. -This library uses a simple DSL to represent request parameters and response shapes in `lib/finch_api/models`. +## Advanced concepts -With the right [editor plugins](https://shopify.github.io/ruby-lsp), you can ctrl-click on elements of the DSL to navigate around and explore the library. +### BaseModel -In all places where a `BaseModel` type is specified, vanilla Ruby `Hash` can also be used. For example, the following are interchangeable as arguments: +All parameter and response objects inherit from `FinchAPI::Internal::Type::BaseModel`, which provides several conveniences, including: -```ruby -# This has tooling readability, for auto-completion, static analysis, and goto definition with supported language services -params = FinchAPI::Models::HRIS::DirectoryListParams.new +1. All fields, including unknown ones, are accessible with `obj[:prop]` syntax, and can be destructured with `obj => {prop: prop}` or pattern-matching syntax. -# This also works -params = { +2. Structural equivalence for equality; if two API calls return the same values, comparing the responses with == will return true. -} -``` +3. Both instances and the classes themselves can be pretty-printed. -## Editor support +4. Helpers such as `#to_h`, `#deep_to_h`, `#to_json`, and `#to_yaml`. -A combination of [Shopify LSP](https://shopify.github.io/ruby-lsp) and [Solargraph](https://solargraph.org/) is recommended for non-[Sorbet](https://sorbet.org) users. The former is especially good at go to definition, while the latter has much better auto-completion support. +### Making custom or undocumented requests -## Advanced concepts +#### Undocumented properties + +You can send undocumented parameters to any endpoint, and read undocumented response properties, like so: -### Making custom/undocumented requests +Note: the `extra_` parameters of the same name overrides the documented parameters. + +```ruby +page = + finch.hris.directory.list( + request_options: { + extra_query: {my_query_parameter: value}, + extra_body: {my_body_parameter: value}, + extra_headers: {"my-header": value} + } + ) + +puts(page[:my_undocumented_property]) +``` #### Undocumented request params -If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a requests as seen in examples above. +If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a request as seen in examples above. #### Undocumented endpoints -To make requests to undocumented endpoints, you can make requests using `client.request`. Options on the client will be respected (such as retries) when making this request. +To make requests to undocumented endpoints while retaining the benefit of auth, retries, and so on, you can make requests using `client.request`, like so: ```ruby response = client.request( @@ -168,42 +182,67 @@ response = client.request( path: '/undocumented/endpoint', query: {"dog": "woof"}, headers: {"useful-header": "interesting-value"}, - body: {"he": "llo"}, + body: {"hello": "world"} ) ``` ### Concurrency & connection pooling -The `FinchAPI::Client` instances are thread-safe, and should be re-used across multiple threads. By default, each `Client` have their own HTTP connection pool, with a maximum number of connections equal to thread count. +The `FinchAPI::Client` instances are threadsafe, but only are fork-safe when there are no in-flight HTTP requests. -When the maximum number of connections has been checked out from the connection pool, the `Client` will wait for an in use connection to become available. The queue time for this mechanism is accounted for by the per-request timeout. +Each instance of `FinchAPI::Client` has its own HTTP connection pool with a default size of 99. As such, we recommend instantiating the client once per application in most settings. + +When all available connections from the pool are checked out, requests wait for a new connection to become available, with queue time counting towards the request timeout. Unless otherwise specified, other classes in the SDK do not have locks protecting their underlying data structure. -Currently, `FinchAPI::Client` instances are only fork-safe if there are no in-flight HTTP requests. +## Sorbet -### Sorbet +This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitions, and has no dependency on sorbet-runtime. -#### Enums +You can provide typesafe request parameters like so: -Sorbet's typed enums require sub-classing of the [`T::Enum` class](https://sorbet.org/docs/tenum) from the `sorbet-runtime` gem. +```ruby +finch.hris.directory.list +``` -Since this library does not depend on `sorbet-runtime`, it uses a [`T.all` intersection type](https://sorbet.org/docs/intersection-types) with a ruby primitive type to construct a "tagged alias" instead. +Or, equivalently: ```ruby -module FinchAPI::ConnectionStatusType - # This alias aids language service driven navigation. - TaggedSymbol = T.type_alias { T.all(Symbol, FinchAPI::ConnectionStatusType) } -end +# Hashes work, but are not typesafe: +finch.hris.directory.list + +# You can also splat a full Params class: +params = FinchAPI::HRIS::DirectoryListParams.new +finch.hris.directory.list(**params) ``` -#### Argument passing trick +### Enums -It is possible to pass a compatible model / parameter class to a method that expects keyword arguments by using the `**` splat operator. +Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime: ```ruby -params = FinchAPI::Models::HRIS::DirectoryListParams.new -finch.hris.directory.list(**params) +# :one_time +puts(FinchAPI::HRIS::BenefitFrequency::ONE_TIME) + +# Revealed type: `T.all(FinchAPI::HRIS::BenefitFrequency, Symbol)` +T.reveal_type(FinchAPI::HRIS::BenefitFrequency::ONE_TIME) +``` + +Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value: + +```ruby +# Using the enum constants preserves the tagged type information: +finch.hris.benefits.create( + frequency: FinchAPI::HRIS::BenefitFrequency::ONE_TIME, + # … +) + +# Literal values is also permissible: +finch.hris.benefits.create( + frequency: :one_time, + # … +) ``` ## Versioning diff --git a/lib/finch_api/internal/type/base_model.rb b/lib/finch_api/internal/type/base_model.rb index d1eb37b8..df96b3fa 100644 --- a/lib/finch_api/internal/type/base_model.rb +++ b/lib/finch_api/internal/type/base_model.rb @@ -393,6 +393,14 @@ def deep_to_h = self.class.recursively_to_h(@data, convert: false) # @param keys [Array, nil] # # @return [Hash{Symbol=>Object}] + # + # @example + # # `operation_support_matrix` is a `FinchAPI::OperationSupportMatrix` + # operation_support_matrix => { + # create: create, + # delete: delete, + # read: read + # } def deconstruct_keys(keys) (keys || self.class.known_fields.keys) .filter_map do |k| From 1f0346afcca537802e8287a46bc2f759e909975f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 15 May 2025 20:38:04 +0000 Subject: [PATCH 09/12] feat(api): api update --- .stats.yml | 4 +- lib/finch_api/models/hris/benefit_type.rb | 20 +- .../pay_statement_item_list_response.rb | 36 +- lib/finch_api/models/hris/pay_statement.rb | 258 ++++---- .../models/hris/pay_statement_response.rb | 14 +- .../hris/pay_statement_response_body.rb | 36 +- lib/finch_api/models/hris/payment.rb | 44 +- lib/finch_api/models/money.rb | 8 +- .../models/payroll/pay_group_list_response.rb | 24 +- .../payroll/pay_group_retrieve_response.rb | 10 +- .../models/sandbox/payment_create_params.rb | 276 ++++----- rbi/finch_api/models/hris/benefit_type.rbi | 32 +- .../pay_statement_item_list_response.rbi | 51 +- rbi/finch_api/models/hris/pay_statement.rbi | 558 ++++++++--------- .../models/hris/pay_statement_response.rbi | 18 +- .../hris/pay_statement_response_body.rbi | 62 +- rbi/finch_api/models/hris/payment.rbi | 57 +- rbi/finch_api/models/money.rbi | 11 +- .../payroll/pay_group_list_response.rbi | 68 +- .../payroll/pay_group_retrieve_response.rbi | 28 +- .../models/sandbox/payment_create_params.rbi | 585 ++++++++---------- sig/finch_api/models/hris/benefit_type.rbs | 42 +- .../pay_statement_item_list_response.rbs | 30 +- sig/finch_api/models/hris/pay_statement.rbs | 218 +++---- .../models/hris/pay_statement_response.rbs | 20 +- .../hris/pay_statement_response_body.rbs | 28 +- sig/finch_api/models/hris/payment.rbs | 50 +- sig/finch_api/models/money.rbs | 6 +- .../payroll/pay_group_list_response.rbs | 40 +- .../payroll/pay_group_retrieve_response.rbs | 20 +- .../models/sandbox/payment_create_params.rbs | 218 +++---- .../hris/company/pay_statement_item_test.rb | 6 +- .../resources/hris/pay_statements_test.rb | 6 +- .../finch_api/resources/hris/payments_test.rb | 2 +- .../resources/payroll/pay_groups_test.rb | 6 +- 35 files changed, 1373 insertions(+), 1519 deletions(-) diff --git a/.stats.yml b/.stats.yml index ac3940f3..c621e60f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 46 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-f09e5f2c555d7ee764478b7bc73e92cd21f403d6ec189be14574c8367bc131ce.yml -openapi_spec_hash: bd0a8e001f14132c105992d40149909a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-331df2398447990a86899b05ac569534b6a7e4ff1d73a319d57f67b34a201fb7.yml +openapi_spec_hash: 6e57516524c0519e90213c0554b26ab4 config_hash: 53778a0b839c4f6ad34fbba051f5e8a6 diff --git a/lib/finch_api/models/hris/benefit_type.rb b/lib/finch_api/models/hris/benefit_type.rb index 45873261..d0260bee 100644 --- a/lib/finch_api/models/hris/benefit_type.rb +++ b/lib/finch_api/models/hris/benefit_type.rb @@ -7,25 +7,25 @@ module HRIS module BenefitType extend FinchAPI::Internal::Type::Enum + BENEFIT_TYPE_457 = :"457" BENEFIT_TYPE_401K = :"401k" BENEFIT_TYPE_401K_ROTH = :"401k_roth" BENEFIT_TYPE_401K_LOAN = :"401k_loan" BENEFIT_TYPE_403B = :"403b" BENEFIT_TYPE_403B_ROTH = :"403b_roth" - BENEFIT_TYPE_457 = :"457" BENEFIT_TYPE_457_ROTH = :"457_roth" - S125_MEDICAL = :s125_medical - S125_DENTAL = :s125_dental - S125_VISION = :s125_vision - HSA_PRE = :hsa_pre - HSA_POST = :hsa_post - FSA_MEDICAL = :fsa_medical - FSA_DEPENDENT_CARE = :fsa_dependent_care - SIMPLE_IRA = :simple_ira - SIMPLE = :simple COMMUTER = :commuter CUSTOM_POST_TAX = :custom_post_tax CUSTOM_PRE_TAX = :custom_pre_tax + FSA_DEPENDENT_CARE = :fsa_dependent_care + FSA_MEDICAL = :fsa_medical + HSA_POST = :hsa_post + HSA_PRE = :hsa_pre + S125_DENTAL = :s125_dental + S125_MEDICAL = :s125_medical + S125_VISION = :s125_vision + SIMPLE = :simple + SIMPLE_IRA = :simple_ira # @!method self.values # @return [Array] diff --git a/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb b/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb index 18cd7fdf..c8a8b922 100644 --- a/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb +++ b/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb @@ -9,22 +9,22 @@ class PayStatementItemListResponse < FinchAPI::Internal::Type::BaseModel # @!attribute attributes # The attributes of the pay statement item. # - # @return [FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, nil] - optional :attributes, -> { FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes } + # @return [FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes] + required :attributes, -> { FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes } # @!attribute category # The category of the pay statement item. # - # @return [Symbol, FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category, nil] - optional :category, enum: -> { FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category } + # @return [Symbol, FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category] + required :category, enum: -> { FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category } # @!attribute name # The name of the pay statement item. # - # @return [String, nil] - optional :name, String + # @return [String] + required :name, String - # @!method initialize(attributes: nil, category: nil, name: nil) + # @!method initialize(attributes:, category:, name:) # @param attributes [FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes] The attributes of the pay statement item. # # @param category [Symbol, FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category] The category of the pay statement item. @@ -33,22 +33,22 @@ class PayStatementItemListResponse < FinchAPI::Internal::Type::BaseModel # @see FinchAPI::Models::HRIS::Company::PayStatementItemListResponse#attributes class Attributes < FinchAPI::Internal::Type::BaseModel - # @!attribute employer - # `true` if the amount is paid by the employers. This field is only available for - # taxes. - # - # @return [Boolean, nil] - optional :employer, FinchAPI::Internal::Type::Boolean, nil?: true - # @!attribute metadata # The metadata of the pay statement item derived by the rules engine if available. # Each attribute will be a key-value pair defined by a rule. # # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, + required :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true], nil?: true + # @!attribute employer + # `true` if the amount is paid by the employers. This field is only available for + # taxes. + # + # @return [Boolean, nil] + optional :employer, FinchAPI::Internal::Type::Boolean, nil?: true + # @!attribute pre_tax # `true` if the pay statement item is pre-tax. This field is only available for # employee deductions. @@ -62,17 +62,17 @@ class Attributes < FinchAPI::Internal::Type::BaseModel # @return [String, nil] optional :type, String, nil?: true - # @!method initialize(employer: nil, metadata: nil, pre_tax: nil, type: nil) + # @!method initialize(metadata:, employer: nil, pre_tax: nil, type: nil) # Some parameter documentations has been truncated, see # {FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes} for # more details. # # The attributes of the pay statement item. # - # @param employer [Boolean, nil] `true` if the amount is paid by the employers. This field is only available for - # # @param metadata [Hash{Symbol=>Object, nil}, nil] The metadata of the pay statement item derived by the rules engine if available. # + # @param employer [Boolean, nil] `true` if the amount is paid by the employers. This field is only available for + # # @param pre_tax [Boolean, nil] `true` if the pay statement item is pre-tax. This field is only available for em # # @param type [String, nil] The type of the pay statement item. diff --git a/lib/finch_api/models/hris/pay_statement.rb b/lib/finch_api/models/hris/pay_statement.rb index 55ce6f66..2f148fc7 100644 --- a/lib/finch_api/models/hris/pay_statement.rb +++ b/lib/finch_api/models/hris/pay_statement.rb @@ -8,7 +8,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of earnings objects associated with this pay statement # # @return [Array, nil] - optional :earnings, + required :earnings, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement::Earning, nil?: true] }, nil?: true @@ -16,7 +16,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of deductions objects associated with this pay statement. # # @return [Array, nil] - optional :employee_deductions, + required :employee_deductions, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement::EmployeeDeduction, nil?: true] @@ -26,7 +26,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # @!attribute employer_contributions # # @return [Array, nil] - optional :employer_contributions, + required :employer_contributions, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement::EmployerContribution, nil?: true] @@ -36,30 +36,30 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # @!attribute gross_pay # # @return [FinchAPI::Money, nil] - optional :gross_pay, -> { FinchAPI::Money }, nil?: true + required :gross_pay, -> { FinchAPI::Money }, nil?: true # @!attribute individual_id # A stable Finch `id` (UUID v4) for an individual in the company # - # @return [String, nil] - optional :individual_id, String + # @return [String] + required :individual_id, String # @!attribute net_pay # # @return [FinchAPI::Money, nil] - optional :net_pay, -> { FinchAPI::Money }, nil?: true + required :net_pay, -> { FinchAPI::Money }, nil?: true # @!attribute payment_method # The payment method. # # @return [Symbol, FinchAPI::HRIS::PayStatement::PaymentMethod, nil] - optional :payment_method, enum: -> { FinchAPI::HRIS::PayStatement::PaymentMethod }, nil?: true + required :payment_method, enum: -> { FinchAPI::HRIS::PayStatement::PaymentMethod }, nil?: true # @!attribute taxes # The array of taxes objects associated with this pay statement. # # @return [Array, nil] - optional :taxes, + required :taxes, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement::Tax, nil?: true] }, nil?: true @@ -67,15 +67,15 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The number of hours worked for this pay period # # @return [Float, nil] - optional :total_hours, Float, nil?: true + required :total_hours, Float, nil?: true # @!attribute type # The type of the payment associated with the pay statement. # # @return [Symbol, FinchAPI::HRIS::PayStatement::Type, nil] - optional :type, enum: -> { FinchAPI::HRIS::PayStatement::Type }, nil?: true + required :type, enum: -> { FinchAPI::HRIS::PayStatement::Type }, nil?: true - # @!method initialize(earnings: nil, employee_deductions: nil, employer_contributions: nil, gross_pay: nil, individual_id: nil, net_pay: nil, payment_method: nil, taxes: nil, total_hours: nil, type: nil) + # @!method initialize(earnings:, employee_deductions:, employer_contributions:, gross_pay:, individual_id:, net_pay:, payment_method:, taxes:, total_hours:, type:) # @param earnings [Array, nil] The array of earnings objects associated with this pay statement # # @param employee_deductions [Array, nil] The array of deductions objects associated with this pay statement. @@ -101,46 +101,44 @@ class Earning < FinchAPI::Internal::Type::BaseModel # The earnings amount in cents. # # @return [Integer, nil] - optional :amount, Integer, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::HRIS::PayStatement::Earning::Attributes, nil] - optional :attributes, -> { FinchAPI::HRIS::PayStatement::Earning::Attributes }, nil?: true + required :amount, Integer, nil?: true # @!attribute currency # The earnings currency code. # # @return [String, nil] - optional :currency, String, nil?: true + required :currency, String, nil?: true # @!attribute hours # The number of hours associated with this earning. (For salaried employees, this # could be hours per pay period, `0` or `null`, depending on the provider). # # @return [Float, nil] - optional :hours, Float, nil?: true + required :hours, Float, nil?: true # @!attribute name # The exact name of the deduction from the pay statement. # # @return [String, nil] - optional :name, String, nil?: true + required :name, String, nil?: true # @!attribute type # The type of earning. # # @return [Symbol, FinchAPI::HRIS::PayStatement::Earning::Type, nil] - optional :type, enum: -> { FinchAPI::HRIS::PayStatement::Earning::Type }, nil?: true + required :type, enum: -> { FinchAPI::HRIS::PayStatement::Earning::Type }, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::HRIS::PayStatement::Earning::Attributes, nil] + optional :attributes, -> { FinchAPI::HRIS::PayStatement::Earning::Attributes }, nil?: true - # @!method initialize(amount: nil, attributes: nil, currency: nil, hours: nil, name: nil, type: nil) + # @!method initialize(amount:, currency:, hours:, name:, type:, attributes: nil) # Some parameter documentations has been truncated, see # {FinchAPI::HRIS::PayStatement::Earning} for more details. # # @param amount [Integer, nil] The earnings amount in cents. # - # @param attributes [FinchAPI::HRIS::PayStatement::Earning::Attributes, nil] - # # @param currency [String, nil] The earnings currency code. # # @param hours [Float, nil] The number of hours associated with this earning. (For salaried employees, this @@ -148,35 +146,8 @@ class Earning < FinchAPI::Internal::Type::BaseModel # @param name [String, nil] The exact name of the deduction from the pay statement. # # @param type [Symbol, FinchAPI::HRIS::PayStatement::Earning::Type, nil] The type of earning. - - # @see FinchAPI::HRIS::PayStatement::Earning#attributes - class Attributes < FinchAPI::Internal::Type::BaseModel - # @!attribute metadata - # - # @return [FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata, nil] - optional :metadata, -> { FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata } - - # @!method initialize(metadata: nil) - # @param metadata [FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata] - - # @see FinchAPI::HRIS::PayStatement::Earning::Attributes#metadata - class Metadata < FinchAPI::Internal::Type::BaseModel - # @!attribute metadata - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - # - # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, - FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - - # @!method initialize(metadata: nil) - # Some parameter documentations has been truncated, see - # {FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata} for more details. - # - # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p - end - end + # + # @param attributes [FinchAPI::HRIS::PayStatement::Earning::Attributes, nil] # The type of earning. # @@ -201,6 +172,35 @@ module Type # @!method self.values # @return [Array] end + + # @see FinchAPI::HRIS::PayStatement::Earning#attributes + class Attributes < FinchAPI::Internal::Type::BaseModel + # @!attribute metadata + # + # @return [FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata] + required :metadata, -> { FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata } + + # @!method initialize(metadata:) + # @param metadata [FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata] + + # @see FinchAPI::HRIS::PayStatement::Earning::Attributes#metadata + class Metadata < FinchAPI::Internal::Type::BaseModel + # @!attribute metadata + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + # + # @return [Hash{Symbol=>Object, nil}] + required :metadata, + FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] + + # @!method initialize(metadata:) + # Some parameter documentations has been truncated, see + # {FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata} for more details. + # + # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p + end + end end class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel @@ -208,41 +208,39 @@ class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel # The deduction amount in cents. # # @return [Integer, nil] - optional :amount, Integer, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, nil] - optional :attributes, -> { FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes }, nil?: true + required :amount, Integer, nil?: true # @!attribute currency # The deduction currency. # # @return [String, nil] - optional :currency, String, nil?: true + required :currency, String, nil?: true # @!attribute name # The deduction name from the pay statement. # # @return [String, nil] - optional :name, String, nil?: true + required :name, String, nil?: true # @!attribute pre_tax # Boolean indicating if the deduction is pre-tax. # # @return [Boolean, nil] - optional :pre_tax, FinchAPI::Internal::Type::Boolean, nil?: true + required :pre_tax, FinchAPI::Internal::Type::Boolean, nil?: true # @!attribute type # Type of benefit. # # @return [Symbol, FinchAPI::HRIS::BenefitType, nil] - optional :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true + required :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - # @!method initialize(amount: nil, attributes: nil, currency: nil, name: nil, pre_tax: nil, type: nil) - # @param amount [Integer, nil] The deduction amount in cents. + # @!attribute attributes # - # @param attributes [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, nil] + # @return [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, nil] + optional :attributes, -> { FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes }, nil?: true + + # @!method initialize(amount:, currency:, name:, pre_tax:, type:, attributes: nil) + # @param amount [Integer, nil] The deduction amount in cents. # # @param currency [String, nil] The deduction currency. # @@ -251,15 +249,17 @@ class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel # @param pre_tax [Boolean, nil] Boolean indicating if the deduction is pre-tax. # # @param type [Symbol, FinchAPI::HRIS::BenefitType, nil] Type of benefit. + # + # @param attributes [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, nil] # @see FinchAPI::HRIS::PayStatement::EmployeeDeduction#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata, nil] - optional :metadata, -> { FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata } + # @return [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata] + required :metadata, -> { FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata } - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # @param metadata [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata] # @see FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes#metadata @@ -269,11 +269,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, + # @return [Hash{Symbol=>Object, nil}] + required :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # Some parameter documentations has been truncated, see # {FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata} for more # details. @@ -288,57 +288,57 @@ class EmployerContribution < FinchAPI::Internal::Type::BaseModel # The contribution amount in cents. # # @return [Integer, nil] - optional :amount, Integer, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, nil] - optional :attributes, - -> { - FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes - }, - nil?: true + required :amount, Integer, nil?: true # @!attribute currency # The contribution currency. # # @return [String, nil] - optional :currency, String, nil?: true + required :currency, String, nil?: true # @!attribute name # The contribution name from the pay statement. # # @return [String, nil] - optional :name, String, nil?: true + required :name, String, nil?: true # @!attribute type # Type of benefit. # # @return [Symbol, FinchAPI::HRIS::BenefitType, nil] - optional :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true + required :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - # @!method initialize(amount: nil, attributes: nil, currency: nil, name: nil, type: nil) - # @param amount [Integer, nil] The contribution amount in cents. + # @!attribute attributes # - # @param attributes [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, nil] + # @return [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, nil] + optional :attributes, + -> { + FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes + }, + nil?: true + + # @!method initialize(amount:, currency:, name:, type:, attributes: nil) + # @param amount [Integer, nil] The contribution amount in cents. # # @param currency [String, nil] The contribution currency. # # @param name [String, nil] The contribution name from the pay statement. # # @param type [Symbol, FinchAPI::HRIS::BenefitType, nil] Type of benefit. + # + # @param attributes [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, nil] # @see FinchAPI::HRIS::PayStatement::EmployerContribution#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata, nil] - optional :metadata, + # @return [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata] + required :metadata, -> { FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata } - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # @param metadata [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata] # @see FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes#metadata @@ -348,11 +348,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, + # @return [Hash{Symbol=>Object, nil}] + required :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # Some parameter documentations has been truncated, see # {FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata} for # more details. @@ -380,41 +380,39 @@ class Tax < FinchAPI::Internal::Type::BaseModel # The tax amount in cents. # # @return [Integer, nil] - optional :amount, Integer, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::HRIS::PayStatement::Tax::Attributes, nil] - optional :attributes, -> { FinchAPI::HRIS::PayStatement::Tax::Attributes }, nil?: true + required :amount, Integer, nil?: true # @!attribute currency # The currency code. # # @return [String, nil] - optional :currency, String, nil?: true + required :currency, String, nil?: true # @!attribute employer # `true` if the amount is paid by the employers. # # @return [Boolean, nil] - optional :employer, FinchAPI::Internal::Type::Boolean, nil?: true + required :employer, FinchAPI::Internal::Type::Boolean, nil?: true # @!attribute name # The exact name of tax from the pay statement. # # @return [String, nil] - optional :name, String, nil?: true + required :name, String, nil?: true # @!attribute type # The type of taxes. # # @return [Symbol, FinchAPI::HRIS::PayStatement::Tax::Type, nil] - optional :type, enum: -> { FinchAPI::HRIS::PayStatement::Tax::Type }, nil?: true + required :type, enum: -> { FinchAPI::HRIS::PayStatement::Tax::Type }, nil?: true - # @!method initialize(amount: nil, attributes: nil, currency: nil, employer: nil, name: nil, type: nil) - # @param amount [Integer, nil] The tax amount in cents. + # @!attribute attributes # - # @param attributes [FinchAPI::HRIS::PayStatement::Tax::Attributes, nil] + # @return [FinchAPI::HRIS::PayStatement::Tax::Attributes, nil] + optional :attributes, -> { FinchAPI::HRIS::PayStatement::Tax::Attributes }, nil?: true + + # @!method initialize(amount:, currency:, employer:, name:, type:, attributes: nil) + # @param amount [Integer, nil] The tax amount in cents. # # @param currency [String, nil] The currency code. # @@ -423,15 +421,32 @@ class Tax < FinchAPI::Internal::Type::BaseModel # @param name [String, nil] The exact name of tax from the pay statement. # # @param type [Symbol, FinchAPI::HRIS::PayStatement::Tax::Type, nil] The type of taxes. + # + # @param attributes [FinchAPI::HRIS::PayStatement::Tax::Attributes, nil] + + # The type of taxes. + # + # @see FinchAPI::HRIS::PayStatement::Tax#type + module Type + extend FinchAPI::Internal::Type::Enum + + STATE = :state + FEDERAL = :federal + LOCAL = :local + FICA = :fica + + # @!method self.values + # @return [Array] + end # @see FinchAPI::HRIS::PayStatement::Tax#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata, nil] - optional :metadata, -> { FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata } + # @return [FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata] + required :metadata, -> { FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata } - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # @param metadata [FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata] # @see FinchAPI::HRIS::PayStatement::Tax::Attributes#metadata @@ -441,32 +456,17 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, + # @return [Hash{Symbol=>Object, nil}] + required :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # Some parameter documentations has been truncated, see # {FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata} for more details. # # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p end end - - # The type of taxes. - # - # @see FinchAPI::HRIS::PayStatement::Tax#type - module Type - extend FinchAPI::Internal::Type::Enum - - STATE = :state - FEDERAL = :federal - LOCAL = :local - FICA = :fica - - # @!method self.values - # @return [Array] - end end # The type of the payment associated with the pay statement. diff --git a/lib/finch_api/models/hris/pay_statement_response.rb b/lib/finch_api/models/hris/pay_statement_response.rb index 7824a0dd..de9c07e2 100644 --- a/lib/finch_api/models/hris/pay_statement_response.rb +++ b/lib/finch_api/models/hris/pay_statement_response.rb @@ -7,20 +7,20 @@ module HRIS class PayStatementResponse < FinchAPI::Internal::Type::BaseModel # @!attribute body # - # @return [FinchAPI::HRIS::PayStatementResponseBody, nil] - optional :body, -> { FinchAPI::HRIS::PayStatementResponseBody } + # @return [FinchAPI::HRIS::PayStatementResponseBody] + required :body, -> { FinchAPI::HRIS::PayStatementResponseBody } # @!attribute code # - # @return [Integer, nil] - optional :code, Integer + # @return [Integer] + required :code, Integer # @!attribute payment_id # - # @return [String, nil] - optional :payment_id, String + # @return [String] + required :payment_id, String - # @!method initialize(body: nil, code: nil, payment_id: nil) + # @!method initialize(body:, code:, payment_id:) # @param body [FinchAPI::HRIS::PayStatementResponseBody] # @param code [Integer] # @param payment_id [String] diff --git a/lib/finch_api/models/hris/pay_statement_response_body.rb b/lib/finch_api/models/hris/pay_statement_response_body.rb index a4048715..87abd1b2 100644 --- a/lib/finch_api/models/hris/pay_statement_response_body.rb +++ b/lib/finch_api/models/hris/pay_statement_response_body.rb @@ -6,19 +6,37 @@ module HRIS class PayStatementResponseBody < FinchAPI::Internal::Type::BaseModel # @!attribute paging # - # @return [FinchAPI::Paging, nil] - optional :paging, -> { FinchAPI::Paging } + # @return [FinchAPI::HRIS::PayStatementResponseBody::Paging] + required :paging, -> { FinchAPI::HRIS::PayStatementResponseBody::Paging } # @!attribute pay_statements - # The array of pay statements for the current payment. # - # @return [Array, nil] - optional :pay_statements, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement] } + # @return [Array] + required :pay_statements, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement] } - # @!method initialize(paging: nil, pay_statements: nil) - # @param paging [FinchAPI::Paging] - # - # @param pay_statements [Array] The array of pay statements for the current payment. + # @!method initialize(paging:, pay_statements:) + # @param paging [FinchAPI::HRIS::PayStatementResponseBody::Paging] + # @param pay_statements [Array] + + # @see FinchAPI::HRIS::PayStatementResponseBody#paging + class Paging < FinchAPI::Internal::Type::BaseModel + # @!attribute offset + # The current start index of the returned list of elements + # + # @return [Integer] + required :offset, Integer + + # @!attribute count + # The total number of elements for the entire query (not just the given page) + # + # @return [Integer, nil] + optional :count, Integer + + # @!method initialize(offset:, count: nil) + # @param offset [Integer] The current start index of the returned list of elements + # + # @param count [Integer] The total number of elements for the entire query (not just the given page) + end end end end diff --git a/lib/finch_api/models/hris/payment.rb b/lib/finch_api/models/hris/payment.rb index e95d8923..2f67b485 100644 --- a/lib/finch_api/models/hris/payment.rb +++ b/lib/finch_api/models/hris/payment.rb @@ -8,55 +8,55 @@ class Payment < FinchAPI::Internal::Type::BaseModel # @!attribute id # The unique id for the payment. # - # @return [String, nil] - optional :id, String + # @return [String] + required :id, String # @!attribute company_debit # # @return [FinchAPI::Money, nil] - optional :company_debit, -> { FinchAPI::Money }, nil?: true + required :company_debit, -> { FinchAPI::Money }, nil?: true # @!attribute debit_date # # @return [String, nil] - optional :debit_date, String, nil?: true + required :debit_date, String, nil?: true # @!attribute employee_taxes # # @return [FinchAPI::Money, nil] - optional :employee_taxes, -> { FinchAPI::Money }, nil?: true + required :employee_taxes, -> { FinchAPI::Money }, nil?: true # @!attribute employer_taxes # # @return [FinchAPI::Money, nil] - optional :employer_taxes, -> { FinchAPI::Money }, nil?: true + required :employer_taxes, -> { FinchAPI::Money }, nil?: true # @!attribute gross_pay # # @return [FinchAPI::Money, nil] - optional :gross_pay, -> { FinchAPI::Money }, nil?: true + required :gross_pay, -> { FinchAPI::Money }, nil?: true # @!attribute individual_ids # Array of every individual on this payment. # # @return [Array, nil] - optional :individual_ids, FinchAPI::Internal::Type::ArrayOf[String], nil?: true + required :individual_ids, FinchAPI::Internal::Type::ArrayOf[String], nil?: true # @!attribute net_pay # # @return [FinchAPI::Money, nil] - optional :net_pay, -> { FinchAPI::Money }, nil?: true + required :net_pay, -> { FinchAPI::Money }, nil?: true # @!attribute pay_date # # @return [String, nil] - optional :pay_date, String, nil?: true + required :pay_date, String, nil?: true # @!attribute pay_frequencies # List of pay frequencies associated with this payment. # # @return [Array, nil] - optional :pay_frequencies, + required :pay_frequencies, -> { FinchAPI::Internal::Type::ArrayOf[enum: FinchAPI::HRIS::Payment::PayFrequency] }, nil?: true @@ -64,15 +64,15 @@ class Payment < FinchAPI::Internal::Type::BaseModel # Array of the Finch id (uuidv4) of every pay group associated with this payment. # # @return [Array, nil] - optional :pay_group_ids, FinchAPI::Internal::Type::ArrayOf[String], nil?: true + required :pay_group_ids, FinchAPI::Internal::Type::ArrayOf[String], nil?: true # @!attribute pay_period # The pay period object. # # @return [FinchAPI::HRIS::Payment::PayPeriod, nil] - optional :pay_period, -> { FinchAPI::HRIS::Payment::PayPeriod }, nil?: true + required :pay_period, -> { FinchAPI::HRIS::Payment::PayPeriod }, nil?: true - # @!method initialize(id: nil, company_debit: nil, debit_date: nil, employee_taxes: nil, employer_taxes: nil, gross_pay: nil, individual_ids: nil, net_pay: nil, pay_date: nil, pay_frequencies: nil, pay_group_ids: nil, pay_period: nil) + # @!method initialize(id:, company_debit:, debit_date:, employee_taxes:, employer_taxes:, gross_pay:, individual_ids:, net_pay:, pay_date:, pay_frequencies:, pay_group_ids:, pay_period:) # @param id [String] The unique id for the payment. # # @param company_debit [FinchAPI::Money, nil] @@ -101,14 +101,14 @@ module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY = :annually - SEMI_ANNUALLY = :semi_annually - QUARTERLY = :quarterly - MONTHLY = :monthly - SEMI_MONTHLY = :semi_monthly BI_WEEKLY = :bi_weekly - WEEKLY = :weekly DAILY = :daily + MONTHLY = :monthly OTHER = :other + QUARTERLY = :quarterly + SEMI_ANNUALLY = :semi_annually + SEMI_MONTHLY = :semi_monthly + WEEKLY = :weekly # @!method self.values # @return [Array] @@ -119,14 +119,14 @@ class PayPeriod < FinchAPI::Internal::Type::BaseModel # @!attribute end_date # # @return [String, nil] - optional :end_date, String, nil?: true + required :end_date, String, nil?: true # @!attribute start_date # # @return [String, nil] - optional :start_date, String, nil?: true + required :start_date, String, nil?: true - # @!method initialize(end_date: nil, start_date: nil) + # @!method initialize(end_date:, start_date:) # The pay period object. # # @param end_date [String, nil] diff --git a/lib/finch_api/models/money.rb b/lib/finch_api/models/money.rb index 153d11a9..e3ccc89d 100644 --- a/lib/finch_api/models/money.rb +++ b/lib/finch_api/models/money.rb @@ -7,14 +7,14 @@ class Money < FinchAPI::Internal::Type::BaseModel # Amount for money object (in cents) # # @return [Integer, nil] - optional :amount, Integer, nil?: true + required :amount, Integer, nil?: true # @!attribute currency # - # @return [String, nil] - optional :currency, String + # @return [String] + required :currency, String - # @!method initialize(amount: nil, currency: nil) + # @!method initialize(amount:, currency:) # @param amount [Integer, nil] Amount for money object (in cents) # # @param currency [String] diff --git a/lib/finch_api/models/payroll/pay_group_list_response.rb b/lib/finch_api/models/payroll/pay_group_list_response.rb index 1d24b6ba..fb57ba88 100644 --- a/lib/finch_api/models/payroll/pay_group_list_response.rb +++ b/lib/finch_api/models/payroll/pay_group_list_response.rb @@ -8,23 +8,23 @@ class PayGroupListResponse < FinchAPI::Internal::Type::BaseModel # @!attribute id # Finch id (uuidv4) for the pay group # - # @return [String, nil] - optional :id, String + # @return [String] + required :id, String # @!attribute name # Name of the pay group # - # @return [String, nil] - optional :name, String + # @return [String] + required :name, String # @!attribute pay_frequencies # List of pay frequencies associated with this pay group # - # @return [Array, nil] - optional :pay_frequencies, + # @return [Array] + required :pay_frequencies, -> { FinchAPI::Internal::Type::ArrayOf[enum: FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency] } - # @!method initialize(id: nil, name: nil, pay_frequencies: nil) + # @!method initialize(id:, name:, pay_frequencies:) # @param id [String] Finch id (uuidv4) for the pay group # # @param name [String] Name of the pay group @@ -35,14 +35,14 @@ module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY = :annually - SEMI_ANNUALLY = :semi_annually - QUARTERLY = :quarterly - MONTHLY = :monthly - SEMI_MONTHLY = :semi_monthly BI_WEEKLY = :bi_weekly - WEEKLY = :weekly DAILY = :daily + MONTHLY = :monthly OTHER = :other + QUARTERLY = :quarterly + SEMI_ANNUALLY = :semi_annually + SEMI_MONTHLY = :semi_monthly + WEEKLY = :weekly # @!method self.values # @return [Array] diff --git a/lib/finch_api/models/payroll/pay_group_retrieve_response.rb b/lib/finch_api/models/payroll/pay_group_retrieve_response.rb index d5c9e924..f48a6579 100644 --- a/lib/finch_api/models/payroll/pay_group_retrieve_response.rb +++ b/lib/finch_api/models/payroll/pay_group_retrieve_response.rb @@ -42,14 +42,14 @@ module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY = :annually - SEMI_ANNUALLY = :semi_annually - QUARTERLY = :quarterly - MONTHLY = :monthly - SEMI_MONTHLY = :semi_monthly BI_WEEKLY = :bi_weekly - WEEKLY = :weekly DAILY = :daily + MONTHLY = :monthly OTHER = :other + QUARTERLY = :quarterly + SEMI_ANNUALLY = :semi_annually + SEMI_MONTHLY = :semi_monthly + WEEKLY = :weekly # @!method self.values # @return [Array] diff --git a/lib/finch_api/models/sandbox/payment_create_params.rb b/lib/finch_api/models/sandbox/payment_create_params.rb index 23b275a4..8d62412b 100644 --- a/lib/finch_api/models/sandbox/payment_create_params.rb +++ b/lib/finch_api/models/sandbox/payment_create_params.rb @@ -37,7 +37,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of earnings objects associated with this pay statement # # @return [Array, nil] - optional :earnings, + required :earnings, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning, nil?: true] @@ -48,7 +48,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of deductions objects associated with this pay statement. # # @return [Array, nil] - optional :employee_deductions, + required :employee_deductions, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction, nil?: true] @@ -58,7 +58,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # @!attribute employer_contributions # # @return [Array, nil] - optional :employer_contributions, + required :employer_contributions, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution, nil?: true] @@ -68,24 +68,24 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # @!attribute gross_pay # # @return [FinchAPI::Money, nil] - optional :gross_pay, -> { FinchAPI::Money }, nil?: true + required :gross_pay, -> { FinchAPI::Money }, nil?: true # @!attribute individual_id # A stable Finch `id` (UUID v4) for an individual in the company # - # @return [String, nil] - optional :individual_id, String + # @return [String] + required :individual_id, String # @!attribute net_pay # # @return [FinchAPI::Money, nil] - optional :net_pay, -> { FinchAPI::Money }, nil?: true + required :net_pay, -> { FinchAPI::Money }, nil?: true # @!attribute payment_method # The payment method. # # @return [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::PaymentMethod, nil] - optional :payment_method, + required :payment_method, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::PaymentMethod }, nil?: true @@ -93,7 +93,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of taxes objects associated with this pay statement. # # @return [Array, nil] - optional :taxes, + required :taxes, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax, nil?: true] @@ -104,15 +104,15 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The number of hours worked for this pay period # # @return [Float, nil] - optional :total_hours, Float, nil?: true + required :total_hours, Float, nil?: true # @!attribute type # The type of the payment associated with the pay statement. # # @return [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Type, nil] - optional :type, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Type }, nil?: true + required :type, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Type }, nil?: true - # @!method initialize(earnings: nil, employee_deductions: nil, employer_contributions: nil, gross_pay: nil, individual_id: nil, net_pay: nil, payment_method: nil, taxes: nil, total_hours: nil, type: nil) + # @!method initialize(earnings:, employee_deductions:, employer_contributions:, gross_pay:, individual_id:, net_pay:, payment_method:, taxes:, total_hours:, type:) # @param earnings [Array, nil] The array of earnings objects associated with this pay statement # # @param employee_deductions [Array, nil] The array of deductions objects associated with this pay statement. @@ -138,51 +138,49 @@ class Earning < FinchAPI::Internal::Type::BaseModel # The earnings amount in cents. # # @return [Integer, nil] - optional :amount, Integer, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, nil] - optional :attributes, - -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes }, - nil?: true + required :amount, Integer, nil?: true # @!attribute currency # The earnings currency code. # # @return [String, nil] - optional :currency, String, nil?: true + required :currency, String, nil?: true # @!attribute hours # The number of hours associated with this earning. (For salaried employees, this # could be hours per pay period, `0` or `null`, depending on the provider). # # @return [Float, nil] - optional :hours, Float, nil?: true + required :hours, Float, nil?: true # @!attribute name # The exact name of the deduction from the pay statement. # # @return [String, nil] - optional :name, String, nil?: true + required :name, String, nil?: true # @!attribute type # The type of earning. # # @return [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type, nil] - optional :type, + required :type, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type }, nil?: true - # @!method initialize(amount: nil, attributes: nil, currency: nil, hours: nil, name: nil, type: nil) + # @!attribute attributes + # + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, nil] + optional :attributes, + -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes }, + nil?: true + + # @!method initialize(amount:, currency:, hours:, name:, type:, attributes: nil) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning} for more # details. # # @param amount [Integer, nil] The earnings amount in cents. # - # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, nil] - # # @param currency [String, nil] The earnings currency code. # # @param hours [Float, nil] The number of hours associated with this earning. (For salaried employees, this @@ -190,18 +188,44 @@ class Earning < FinchAPI::Internal::Type::BaseModel # @param name [String, nil] The exact name of the deduction from the pay statement. # # @param type [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type, nil] The type of earning. + # + # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, nil] + + # The type of earning. + # + # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning#type + module Type + extend FinchAPI::Internal::Type::Enum + + SALARY = :salary + WAGE = :wage + REIMBURSEMENT = :reimbursement + OVERTIME = :overtime + SEVERANCE = :severance + DOUBLE_OVERTIME = :double_overtime + PTO = :pto + SICK = :sick + BONUS = :bonus + COMMISSION = :commission + TIPS = :tips + TYPE_1099 = :"1099" + OTHER = :other + + # @!method self.values + # @return [Array] + end # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata, nil] - optional :metadata, + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata] + required :metadata, -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata } - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # @param metadata [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes#metadata @@ -211,11 +235,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, + # @return [Hash{Symbol=>Object, nil}] + required :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata} # for more details. @@ -223,30 +247,6 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p end end - - # The type of earning. - # - # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning#type - module Type - extend FinchAPI::Internal::Type::Enum - - SALARY = :salary - WAGE = :wage - REIMBURSEMENT = :reimbursement - OVERTIME = :overtime - SEVERANCE = :severance - DOUBLE_OVERTIME = :double_overtime - PTO = :pto - SICK = :sick - BONUS = :bonus - COMMISSION = :commission - TIPS = :tips - TYPE_1099 = :"1099" - OTHER = :other - - # @!method self.values - # @return [Array] - end end class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel @@ -254,45 +254,43 @@ class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel # The deduction amount in cents. # # @return [Integer, nil] - optional :amount, Integer, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, nil] - optional :attributes, - -> { - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes - }, - nil?: true + required :amount, Integer, nil?: true # @!attribute currency # The deduction currency. # # @return [String, nil] - optional :currency, String, nil?: true + required :currency, String, nil?: true # @!attribute name # The deduction name from the pay statement. # # @return [String, nil] - optional :name, String, nil?: true + required :name, String, nil?: true # @!attribute pre_tax # Boolean indicating if the deduction is pre-tax. # # @return [Boolean, nil] - optional :pre_tax, FinchAPI::Internal::Type::Boolean, nil?: true + required :pre_tax, FinchAPI::Internal::Type::Boolean, nil?: true # @!attribute type # Type of benefit. # # @return [Symbol, FinchAPI::HRIS::BenefitType, nil] - optional :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true + required :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - # @!method initialize(amount: nil, attributes: nil, currency: nil, name: nil, pre_tax: nil, type: nil) - # @param amount [Integer, nil] The deduction amount in cents. + # @!attribute attributes # - # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, nil] + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, nil] + optional :attributes, + -> { + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes + }, + nil?: true + + # @!method initialize(amount:, currency:, name:, pre_tax:, type:, attributes: nil) + # @param amount [Integer, nil] The deduction amount in cents. # # @param currency [String, nil] The deduction currency. # @@ -301,18 +299,20 @@ class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel # @param pre_tax [Boolean, nil] Boolean indicating if the deduction is pre-tax. # # @param type [Symbol, FinchAPI::HRIS::BenefitType, nil] Type of benefit. + # + # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, nil] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata, nil] - optional :metadata, + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata] + required :metadata, -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata } - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # @param metadata [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes#metadata @@ -322,11 +322,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, + # @return [Hash{Symbol=>Object, nil}] + required :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata} # for more details. @@ -341,57 +341,57 @@ class EmployerContribution < FinchAPI::Internal::Type::BaseModel # The contribution amount in cents. # # @return [Integer, nil] - optional :amount, Integer, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, nil] - optional :attributes, - -> { - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes - }, - nil?: true + required :amount, Integer, nil?: true # @!attribute currency # The contribution currency. # # @return [String, nil] - optional :currency, String, nil?: true + required :currency, String, nil?: true # @!attribute name # The contribution name from the pay statement. # # @return [String, nil] - optional :name, String, nil?: true + required :name, String, nil?: true # @!attribute type # Type of benefit. # # @return [Symbol, FinchAPI::HRIS::BenefitType, nil] - optional :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true + required :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - # @!method initialize(amount: nil, attributes: nil, currency: nil, name: nil, type: nil) - # @param amount [Integer, nil] The contribution amount in cents. + # @!attribute attributes # - # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, nil] + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, nil] + optional :attributes, + -> { + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes + }, + nil?: true + + # @!method initialize(amount:, currency:, name:, type:, attributes: nil) + # @param amount [Integer, nil] The contribution amount in cents. # # @param currency [String, nil] The contribution currency. # # @param name [String, nil] The contribution name from the pay statement. # # @param type [Symbol, FinchAPI::HRIS::BenefitType, nil] Type of benefit. + # + # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, nil] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata, nil] - optional :metadata, + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata] + required :metadata, -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata } - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # @param metadata [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes#metadata @@ -401,11 +401,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, + # @return [Hash{Symbol=>Object, nil}] + required :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata} # for more details. @@ -433,47 +433,45 @@ class Tax < FinchAPI::Internal::Type::BaseModel # The tax amount in cents. # # @return [Integer, nil] - optional :amount, Integer, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, nil] - optional :attributes, - -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes }, - nil?: true + required :amount, Integer, nil?: true # @!attribute currency # The currency code. # # @return [String, nil] - optional :currency, String, nil?: true + required :currency, String, nil?: true # @!attribute employer # `true` if the amount is paid by the employers. # # @return [Boolean, nil] - optional :employer, FinchAPI::Internal::Type::Boolean, nil?: true + required :employer, FinchAPI::Internal::Type::Boolean, nil?: true # @!attribute name # The exact name of tax from the pay statement. # # @return [String, nil] - optional :name, String, nil?: true + required :name, String, nil?: true # @!attribute type # The type of taxes. # # @return [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type, nil] - optional :type, + required :type, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type }, nil?: true - # @!method initialize(amount: nil, attributes: nil, currency: nil, employer: nil, name: nil, type: nil) - # @param amount [Integer, nil] The tax amount in cents. + # @!attribute attributes # - # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, nil] + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, nil] + optional :attributes, + -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes }, + nil?: true + + # @!method initialize(amount:, currency:, employer:, name:, type:, attributes: nil) + # @param amount [Integer, nil] The tax amount in cents. # # @param currency [String, nil] The currency code. # @@ -482,18 +480,35 @@ class Tax < FinchAPI::Internal::Type::BaseModel # @param name [String, nil] The exact name of tax from the pay statement. # # @param type [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type, nil] The type of taxes. + # + # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, nil] + + # The type of taxes. + # + # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax#type + module Type + extend FinchAPI::Internal::Type::Enum + + STATE = :state + FEDERAL = :federal + LOCAL = :local + FICA = :fica + + # @!method self.values + # @return [Array] + end # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata, nil] - optional :metadata, + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata] + required :metadata, -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata } - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # @param metadata [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes#metadata @@ -503,11 +518,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}, nil] - optional :metadata, + # @return [Hash{Symbol=>Object, nil}] + required :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata: nil) + # @!method initialize(metadata:) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata} # for more details. @@ -515,21 +530,6 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p end end - - # The type of taxes. - # - # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax#type - module Type - extend FinchAPI::Internal::Type::Enum - - STATE = :state - FEDERAL = :federal - LOCAL = :local - FICA = :fica - - # @!method self.values - # @return [Array] - end end # The type of the payment associated with the pay statement. diff --git a/rbi/finch_api/models/hris/benefit_type.rbi b/rbi/finch_api/models/hris/benefit_type.rbi index 01e74cf6..9a0bbcd3 100644 --- a/rbi/finch_api/models/hris/benefit_type.rbi +++ b/rbi/finch_api/models/hris/benefit_type.rbi @@ -11,6 +11,8 @@ module FinchAPI T.type_alias { T.all(Symbol, FinchAPI::HRIS::BenefitType) } OrSymbol = T.type_alias { T.any(Symbol, String) } + BENEFIT_TYPE_457 = + T.let(:"457", FinchAPI::HRIS::BenefitType::TaggedSymbol) BENEFIT_TYPE_401K = T.let(:"401k", FinchAPI::HRIS::BenefitType::TaggedSymbol) BENEFIT_TYPE_401K_ROTH = @@ -21,30 +23,28 @@ module FinchAPI T.let(:"403b", FinchAPI::HRIS::BenefitType::TaggedSymbol) BENEFIT_TYPE_403B_ROTH = T.let(:"403b_roth", FinchAPI::HRIS::BenefitType::TaggedSymbol) - BENEFIT_TYPE_457 = - T.let(:"457", FinchAPI::HRIS::BenefitType::TaggedSymbol) BENEFIT_TYPE_457_ROTH = T.let(:"457_roth", FinchAPI::HRIS::BenefitType::TaggedSymbol) - S125_MEDICAL = - T.let(:s125_medical, FinchAPI::HRIS::BenefitType::TaggedSymbol) + COMMUTER = T.let(:commuter, FinchAPI::HRIS::BenefitType::TaggedSymbol) + CUSTOM_POST_TAX = + T.let(:custom_post_tax, FinchAPI::HRIS::BenefitType::TaggedSymbol) + CUSTOM_PRE_TAX = + T.let(:custom_pre_tax, FinchAPI::HRIS::BenefitType::TaggedSymbol) + FSA_DEPENDENT_CARE = + T.let(:fsa_dependent_care, FinchAPI::HRIS::BenefitType::TaggedSymbol) + FSA_MEDICAL = + T.let(:fsa_medical, FinchAPI::HRIS::BenefitType::TaggedSymbol) + HSA_POST = T.let(:hsa_post, FinchAPI::HRIS::BenefitType::TaggedSymbol) + HSA_PRE = T.let(:hsa_pre, FinchAPI::HRIS::BenefitType::TaggedSymbol) S125_DENTAL = T.let(:s125_dental, FinchAPI::HRIS::BenefitType::TaggedSymbol) + S125_MEDICAL = + T.let(:s125_medical, FinchAPI::HRIS::BenefitType::TaggedSymbol) S125_VISION = T.let(:s125_vision, FinchAPI::HRIS::BenefitType::TaggedSymbol) - HSA_PRE = T.let(:hsa_pre, FinchAPI::HRIS::BenefitType::TaggedSymbol) - HSA_POST = T.let(:hsa_post, FinchAPI::HRIS::BenefitType::TaggedSymbol) - FSA_MEDICAL = - T.let(:fsa_medical, FinchAPI::HRIS::BenefitType::TaggedSymbol) - FSA_DEPENDENT_CARE = - T.let(:fsa_dependent_care, FinchAPI::HRIS::BenefitType::TaggedSymbol) + SIMPLE = T.let(:simple, FinchAPI::HRIS::BenefitType::TaggedSymbol) SIMPLE_IRA = T.let(:simple_ira, FinchAPI::HRIS::BenefitType::TaggedSymbol) - SIMPLE = T.let(:simple, FinchAPI::HRIS::BenefitType::TaggedSymbol) - COMMUTER = T.let(:commuter, FinchAPI::HRIS::BenefitType::TaggedSymbol) - CUSTOM_POST_TAX = - T.let(:custom_post_tax, FinchAPI::HRIS::BenefitType::TaggedSymbol) - CUSTOM_PRE_TAX = - T.let(:custom_pre_tax, FinchAPI::HRIS::BenefitType::TaggedSymbol) sig do override.returns(T::Array[FinchAPI::HRIS::BenefitType::TaggedSymbol]) diff --git a/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi b/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi index d50d4a14..45b6c134 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi @@ -16,9 +16,7 @@ module FinchAPI # The attributes of the pay statement item. sig do returns( - T.nilable( - FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes - ) + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes ) end attr_reader :attributes @@ -34,27 +32,14 @@ module FinchAPI # The category of the pay statement item. sig do returns( - T.nilable( - FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category::TaggedSymbol - ) + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category::TaggedSymbol ) end - attr_reader :category - - sig do - params( - category: - FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category::OrSymbol - ).void - end - attr_writer :category + attr_accessor :category # The name of the pay statement item. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name + sig { returns(String) } + attr_accessor :name sig do params( @@ -67,11 +52,11 @@ module FinchAPI end def self.new( # The attributes of the pay statement item. - attributes: nil, + attributes:, # The category of the pay statement item. - category: nil, + category:, # The name of the pay statement item. - name: nil + name: ) end @@ -98,16 +83,16 @@ module FinchAPI ) end - # `true` if the amount is paid by the employers. This field is only available for - # taxes. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :employer - # The metadata of the pay statement item derived by the rules engine if available. # Each attribute will be a key-value pair defined by a rule. sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } attr_accessor :metadata + # `true` if the amount is paid by the employers. This field is only available for + # taxes. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :employer + # `true` if the pay statement item is pre-tax. This field is only available for # employee deductions. sig { returns(T.nilable(T::Boolean)) } @@ -120,19 +105,19 @@ module FinchAPI # The attributes of the pay statement item. sig do params( - employer: T.nilable(T::Boolean), metadata: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]), + employer: T.nilable(T::Boolean), pre_tax: T.nilable(T::Boolean), type: T.nilable(String) ).returns(T.attached_class) end def self.new( + # The metadata of the pay statement item derived by the rules engine if available. + # Each attribute will be a key-value pair defined by a rule. + metadata:, # `true` if the amount is paid by the employers. This field is only available for # taxes. employer: nil, - # The metadata of the pay statement item derived by the rules engine if available. - # Each attribute will be a key-value pair defined by a rule. - metadata: nil, # `true` if the pay statement item is pre-tax. This field is only available for # employee deductions. pre_tax: nil, @@ -144,8 +129,8 @@ module FinchAPI sig do override.returns( { - employer: T.nilable(T::Boolean), metadata: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]), + employer: T.nilable(T::Boolean), pre_tax: T.nilable(T::Boolean), type: T.nilable(String) } diff --git a/rbi/finch_api/models/hris/pay_statement.rbi b/rbi/finch_api/models/hris/pay_statement.rbi index 2953b815..a075604f 100644 --- a/rbi/finch_api/models/hris/pay_statement.rbi +++ b/rbi/finch_api/models/hris/pay_statement.rbi @@ -49,11 +49,8 @@ module FinchAPI attr_writer :gross_pay # A stable Finch `id` (UUID v4) for an individual in the company - sig { returns(T.nilable(String)) } - attr_reader :individual_id - - sig { params(individual_id: String).void } - attr_writer :individual_id + sig { returns(String) } + attr_accessor :individual_id sig { returns(T.nilable(FinchAPI::Money)) } attr_reader :net_pay @@ -126,22 +123,22 @@ module FinchAPI end def self.new( # The array of earnings objects associated with this pay statement - earnings: nil, + earnings:, # The array of deductions objects associated with this pay statement. - employee_deductions: nil, - employer_contributions: nil, - gross_pay: nil, + employee_deductions:, + employer_contributions:, + gross_pay:, # A stable Finch `id` (UUID v4) for an individual in the company - individual_id: nil, - net_pay: nil, + individual_id:, + net_pay:, # The payment method. - payment_method: nil, + payment_method:, # The array of taxes objects associated with this pay statement. - taxes: nil, + taxes:, # The number of hours worked for this pay period - total_hours: nil, + total_hours:, # The type of the payment associated with the pay statement. - type: nil + type: ) end @@ -198,23 +195,6 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - sig do - returns( - T.nilable(FinchAPI::HRIS::PayStatement::Earning::Attributes) - ) - end - attr_reader :attributes - - sig do - params( - attributes: - T.nilable( - FinchAPI::HRIS::PayStatement::Earning::Attributes::OrHash - ) - ).void - end - attr_writer :attributes - # The earnings currency code. sig { returns(T.nilable(String)) } attr_accessor :currency @@ -238,33 +218,52 @@ module FinchAPI end attr_accessor :type + sig do + returns( + T.nilable(FinchAPI::HRIS::PayStatement::Earning::Attributes) + ) + end + attr_reader :attributes + sig do params( - amount: T.nilable(Integer), attributes: T.nilable( FinchAPI::HRIS::PayStatement::Earning::Attributes::OrHash - ), + ) + ).void + end + attr_writer :attributes + + sig do + params( + amount: T.nilable(Integer), currency: T.nilable(String), hours: T.nilable(Float), name: T.nilable(String), type: - T.nilable(FinchAPI::HRIS::PayStatement::Earning::Type::OrSymbol) + T.nilable( + FinchAPI::HRIS::PayStatement::Earning::Type::OrSymbol + ), + attributes: + T.nilable( + FinchAPI::HRIS::PayStatement::Earning::Attributes::OrHash + ) ).returns(T.attached_class) end def self.new( # The earnings amount in cents. - amount: nil, - attributes: nil, + amount:, # The earnings currency code. - currency: nil, + currency:, # The number of hours associated with this earning. (For salaried employees, this # could be hours per pay period, `0` or `null`, depending on the provider). - hours: nil, + hours:, # The exact name of the deduction from the pay statement. - name: nil, + name:, # The type of earning. - type: nil + type:, + attributes: nil ) end @@ -272,110 +271,21 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - attributes: - T.nilable(FinchAPI::HRIS::PayStatement::Earning::Attributes), currency: T.nilable(String), hours: T.nilable(Float), name: T.nilable(String), type: T.nilable( FinchAPI::HRIS::PayStatement::Earning::Type::TaggedSymbol - ) + ), + attributes: + T.nilable(FinchAPI::HRIS::PayStatement::Earning::Attributes) } ) end def to_hash end - class Attributes < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::HRIS::PayStatement::Earning::Attributes, - FinchAPI::Internal::AnyHash - ) - end - - sig do - returns( - T.nilable( - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - ) - ) - end - attr_reader :metadata - - sig do - params( - metadata: - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata::OrHash - ).void - end - attr_writer :metadata - - sig do - params( - metadata: - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata::OrHash - ).returns(T.attached_class) - end - def self.new(metadata: nil) - end - - sig do - override.returns( - { - metadata: - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - } - ) - end - def to_hash - end - - class Metadata < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata, - FinchAPI::Internal::AnyHash - ) - end - - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } - attr_reader :metadata - - sig do - params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void - end - attr_writer :metadata - - sig do - params( - metadata: T::Hash[Symbol, T.nilable(T.anything)] - ).returns(T.attached_class) - end - def self.new( - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - metadata: nil - ) - end - - sig do - override.returns( - { metadata: T::Hash[Symbol, T.nilable(T.anything)] } - ) - end - def to_hash - end - end - end - # The type of earning. module Type extend FinchAPI::Internal::Type::Enum @@ -462,6 +372,88 @@ module FinchAPI def self.values end end + + class Attributes < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Earning::Attributes, + FinchAPI::Internal::AnyHash + ) + end + + sig do + returns( + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + ) + end + attr_reader :metadata + + sig do + params( + metadata: + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata::OrHash + ).void + end + attr_writer :metadata + + sig do + params( + metadata: + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata::OrHash + ).returns(T.attached_class) + end + def self.new(metadata:) + end + + sig do + override.returns( + { + metadata: + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + } + ) + end + def to_hash + end + + class Metadata < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) + end + + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } + attr_accessor :metadata + + sig do + params( + metadata: T::Hash[Symbol, T.nilable(T.anything)] + ).returns(T.attached_class) + end + def self.new( + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + metadata: + ) + end + + sig do + override.returns( + { metadata: T::Hash[Symbol, T.nilable(T.anything)] } + ) + end + def to_hash + end + end + end end class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel @@ -477,6 +469,22 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount + # The deduction currency. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # The deduction name from the pay statement. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Boolean indicating if the deduction is pre-tax. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :pre_tax + + # Type of benefit. + sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol)) } + attr_accessor :type + sig do returns( T.nilable( @@ -496,47 +504,31 @@ module FinchAPI end attr_writer :attributes - # The deduction currency. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # The deduction name from the pay statement. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Boolean indicating if the deduction is pre-tax. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :pre_tax - - # Type of benefit. - sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol)) } - attr_accessor :type - sig do params( amount: T.nilable(Integer), - attributes: - T.nilable( - FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::OrHash - ), currency: T.nilable(String), name: T.nilable(String), pre_tax: T.nilable(T::Boolean), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), + attributes: + T.nilable( + FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::OrHash + ) ).returns(T.attached_class) end def self.new( # The deduction amount in cents. - amount: nil, - attributes: nil, + amount:, # The deduction currency. - currency: nil, + currency:, # The deduction name from the pay statement. - name: nil, + name:, # Boolean indicating if the deduction is pre-tax. - pre_tax: nil, + pre_tax:, # Type of benefit. - type: nil + type:, + attributes: nil ) end @@ -544,14 +536,14 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - attributes: - T.nilable( - FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes - ), currency: T.nilable(String), name: T.nilable(String), pre_tax: T.nilable(T::Boolean), - type: T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol) + type: T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol), + attributes: + T.nilable( + FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes + ) } ) end @@ -569,9 +561,7 @@ module FinchAPI sig do returns( - T.nilable( - FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata - ) + FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata ) end attr_reader :metadata @@ -590,7 +580,7 @@ module FinchAPI FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata: nil) + def self.new(metadata:) end sig do @@ -616,13 +606,8 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } - attr_reader :metadata - - sig do - params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void - end - attr_writer :metadata + sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } + attr_accessor :metadata sig do params( @@ -633,7 +618,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: nil + metadata: ) end @@ -661,6 +646,18 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount + # The contribution currency. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # The contribution name from the pay statement. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Type of benefit. + sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol)) } + attr_accessor :type + sig do returns( T.nilable( @@ -680,40 +677,28 @@ module FinchAPI end attr_writer :attributes - # The contribution currency. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # The contribution name from the pay statement. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Type of benefit. - sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol)) } - attr_accessor :type - sig do params( amount: T.nilable(Integer), + currency: T.nilable(String), + name: T.nilable(String), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::OrHash - ), - currency: T.nilable(String), - name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) + ) ).returns(T.attached_class) end def self.new( # The contribution amount in cents. - amount: nil, - attributes: nil, + amount:, # The contribution currency. - currency: nil, + currency:, # The contribution name from the pay statement. - name: nil, + name:, # Type of benefit. - type: nil + type:, + attributes: nil ) end @@ -721,13 +706,13 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), + currency: T.nilable(String), + name: T.nilable(String), + type: T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol), attributes: T.nilable( FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes - ), - currency: T.nilable(String), - name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol) + ) } ) end @@ -745,9 +730,7 @@ module FinchAPI sig do returns( - T.nilable( - FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata - ) + FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata ) end attr_reader :metadata @@ -766,7 +749,7 @@ module FinchAPI FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata: nil) + def self.new(metadata:) end sig do @@ -792,13 +775,8 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } - attr_reader :metadata - - sig do - params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void - end - attr_writer :metadata + sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } + attr_accessor :metadata sig do params( @@ -809,7 +787,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: nil + metadata: ) end @@ -869,19 +847,6 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - sig do - returns(T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes)) - end - attr_reader :attributes - - sig do - params( - attributes: - T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes::OrHash) - ).void - end - attr_writer :attributes - # The currency code. sig { returns(T.nilable(String)) } attr_accessor :currency @@ -902,31 +867,43 @@ module FinchAPI end attr_accessor :type + sig do + returns(T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes)) + end + attr_reader :attributes + sig do params( - amount: T.nilable(Integer), attributes: - T.nilable( - FinchAPI::HRIS::PayStatement::Tax::Attributes::OrHash - ), + T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes::OrHash) + ).void + end + attr_writer :attributes + + sig do + params( + amount: T.nilable(Integer), currency: T.nilable(String), employer: T.nilable(T::Boolean), name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::PayStatement::Tax::Type::OrSymbol) + type: + T.nilable(FinchAPI::HRIS::PayStatement::Tax::Type::OrSymbol), + attributes: + T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes::OrHash) ).returns(T.attached_class) end def self.new( # The tax amount in cents. - amount: nil, - attributes: nil, + amount:, # The currency code. - currency: nil, + currency:, # `true` if the amount is paid by the employers. - employer: nil, + employer:, # The exact name of tax from the pay statement. - name: nil, + name:, # The type of taxes. - type: nil + type:, + attributes: nil ) end @@ -934,21 +911,61 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - attributes: - T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes), currency: T.nilable(String), employer: T.nilable(T::Boolean), name: T.nilable(String), type: T.nilable( FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) + ), + attributes: + T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes) } ) end def to_hash end + # The type of taxes. + module Type + extend FinchAPI::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, FinchAPI::HRIS::PayStatement::Tax::Type) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + STATE = + T.let( + :state, + FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol + ) + FEDERAL = + T.let( + :federal, + FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol + ) + LOCAL = + T.let( + :local, + FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol + ) + FICA = + T.let( + :fica, + FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol] + ) + end + def self.values + end + end + class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do @@ -959,11 +976,7 @@ module FinchAPI end sig do - returns( - T.nilable( - FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata - ) - ) + returns(FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata) end attr_reader :metadata @@ -981,7 +994,7 @@ module FinchAPI FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata: nil) + def self.new(metadata:) end sig do @@ -1007,13 +1020,8 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } - attr_reader :metadata - - sig do - params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void - end - attr_writer :metadata + sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } + attr_accessor :metadata sig do params( @@ -1024,7 +1032,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: nil + metadata: ) end @@ -1037,46 +1045,6 @@ module FinchAPI end end end - - # The type of taxes. - module Type - extend FinchAPI::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, FinchAPI::HRIS::PayStatement::Tax::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - STATE = - T.let( - :state, - FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) - FEDERAL = - T.let( - :federal, - FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) - LOCAL = - T.let( - :local, - FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) - FICA = - T.let( - :fica, - FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol] - ) - end - def self.values - end - end end # The type of the payment associated with the pay statement. diff --git a/rbi/finch_api/models/hris/pay_statement_response.rbi b/rbi/finch_api/models/hris/pay_statement_response.rbi index 035d8d52..9f2409f2 100644 --- a/rbi/finch_api/models/hris/pay_statement_response.rbi +++ b/rbi/finch_api/models/hris/pay_statement_response.rbi @@ -12,7 +12,7 @@ module FinchAPI ) end - sig { returns(T.nilable(FinchAPI::HRIS::PayStatementResponseBody)) } + sig { returns(FinchAPI::HRIS::PayStatementResponseBody) } attr_reader :body sig do @@ -20,17 +20,11 @@ module FinchAPI end attr_writer :body - sig { returns(T.nilable(Integer)) } - attr_reader :code + sig { returns(Integer) } + attr_accessor :code - sig { params(code: Integer).void } - attr_writer :code - - sig { returns(T.nilable(String)) } - attr_reader :payment_id - - sig { params(payment_id: String).void } - attr_writer :payment_id + sig { returns(String) } + attr_accessor :payment_id sig do params( @@ -39,7 +33,7 @@ module FinchAPI payment_id: String ).returns(T.attached_class) end - def self.new(body: nil, code: nil, payment_id: nil) + def self.new(body:, code:, payment_id:) end sig do diff --git a/rbi/finch_api/models/hris/pay_statement_response_body.rbi b/rbi/finch_api/models/hris/pay_statement_response_body.rbi index 2deb25a9..c786586d 100644 --- a/rbi/finch_api/models/hris/pay_statement_response_body.rbi +++ b/rbi/finch_api/models/hris/pay_statement_response_body.rbi @@ -12,46 +12,74 @@ module FinchAPI ) end - sig { returns(T.nilable(FinchAPI::Paging)) } + sig { returns(FinchAPI::HRIS::PayStatementResponseBody::Paging) } attr_reader :paging - sig { params(paging: FinchAPI::Paging::OrHash).void } - attr_writer :paging - - # The array of pay statements for the current payment. - sig { returns(T.nilable(T::Array[FinchAPI::HRIS::PayStatement])) } - attr_reader :pay_statements - sig do params( - pay_statements: T::Array[FinchAPI::HRIS::PayStatement::OrHash] + paging: FinchAPI::HRIS::PayStatementResponseBody::Paging::OrHash ).void end - attr_writer :pay_statements + attr_writer :paging + + sig { returns(T::Array[FinchAPI::HRIS::PayStatement]) } + attr_accessor :pay_statements sig do params( - paging: FinchAPI::Paging::OrHash, + paging: FinchAPI::HRIS::PayStatementResponseBody::Paging::OrHash, pay_statements: T::Array[FinchAPI::HRIS::PayStatement::OrHash] ).returns(T.attached_class) end - def self.new( - paging: nil, - # The array of pay statements for the current payment. - pay_statements: nil - ) + def self.new(paging:, pay_statements:) end sig do override.returns( { - paging: FinchAPI::Paging, + paging: FinchAPI::HRIS::PayStatementResponseBody::Paging, pay_statements: T::Array[FinchAPI::HRIS::PayStatement] } ) end def to_hash end + + class Paging < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatementResponseBody::Paging, + FinchAPI::Internal::AnyHash + ) + end + + # The current start index of the returned list of elements + sig { returns(Integer) } + attr_accessor :offset + + # The total number of elements for the entire query (not just the given page) + sig { returns(T.nilable(Integer)) } + attr_reader :count + + sig { params(count: Integer).void } + attr_writer :count + + sig do + params(offset: Integer, count: Integer).returns(T.attached_class) + end + def self.new( + # The current start index of the returned list of elements + offset:, + # The total number of elements for the entire query (not just the given page) + count: nil + ) + end + + sig { override.returns({ offset: Integer, count: Integer }) } + def to_hash + end + end end end end diff --git a/rbi/finch_api/models/hris/payment.rbi b/rbi/finch_api/models/hris/payment.rbi index 7b7d6081..e2615cd5 100644 --- a/rbi/finch_api/models/hris/payment.rbi +++ b/rbi/finch_api/models/hris/payment.rbi @@ -10,11 +10,8 @@ module FinchAPI end # The unique id for the payment. - sig { returns(T.nilable(String)) } - attr_reader :id - - sig { params(id: String).void } - attr_writer :id + sig { returns(String) } + attr_accessor :id sig { returns(T.nilable(FinchAPI::Money)) } attr_reader :company_debit @@ -102,22 +99,22 @@ module FinchAPI end def self.new( # The unique id for the payment. - id: nil, - company_debit: nil, - debit_date: nil, - employee_taxes: nil, - employer_taxes: nil, - gross_pay: nil, + id:, + company_debit:, + debit_date:, + employee_taxes:, + employer_taxes:, + gross_pay:, # Array of every individual on this payment. - individual_ids: nil, - net_pay: nil, - pay_date: nil, + individual_ids:, + net_pay:, + pay_date:, # List of pay frequencies associated with this payment. - pay_frequencies: nil, + pay_frequencies:, # Array of the Finch id (uuidv4) of every pay group associated with this payment. - pay_group_ids: nil, + pay_group_ids:, # The pay period object. - pay_period: nil + pay_period: ) end @@ -159,34 +156,34 @@ module FinchAPI :annually, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) - SEMI_ANNUALLY = + BI_WEEKLY = T.let( - :semi_annually, + :bi_weekly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) + DAILY = + T.let(:daily, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) + MONTHLY = + T.let(:monthly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) + OTHER = + T.let(:other, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) QUARTERLY = T.let( :quarterly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) - MONTHLY = - T.let(:monthly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) - SEMI_MONTHLY = + SEMI_ANNUALLY = T.let( - :semi_monthly, + :semi_annually, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) - BI_WEEKLY = + SEMI_MONTHLY = T.let( - :bi_weekly, + :semi_monthly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) WEEKLY = T.let(:weekly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) - DAILY = - T.let(:daily, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) - OTHER = - T.let(:other, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) sig do override.returns( @@ -219,7 +216,7 @@ module FinchAPI start_date: T.nilable(String) ).returns(T.attached_class) end - def self.new(end_date: nil, start_date: nil) + def self.new(end_date:, start_date:) end sig do diff --git a/rbi/finch_api/models/money.rbi b/rbi/finch_api/models/money.rbi index 6510a1a1..82daff20 100644 --- a/rbi/finch_api/models/money.rbi +++ b/rbi/finch_api/models/money.rbi @@ -10,11 +10,8 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - sig { returns(T.nilable(String)) } - attr_reader :currency - - sig { params(currency: String).void } - attr_writer :currency + sig { returns(String) } + attr_accessor :currency sig do params(amount: T.nilable(Integer), currency: String).returns( @@ -23,8 +20,8 @@ module FinchAPI end def self.new( # Amount for money object (in cents) - amount: nil, - currency: nil + amount:, + currency: ) end diff --git a/rbi/finch_api/models/payroll/pay_group_list_response.rbi b/rbi/finch_api/models/payroll/pay_group_list_response.rbi index dae722e8..d6739ac3 100644 --- a/rbi/finch_api/models/payroll/pay_group_list_response.rbi +++ b/rbi/finch_api/models/payroll/pay_group_list_response.rbi @@ -13,40 +13,22 @@ module FinchAPI end # Finch id (uuidv4) for the pay group - sig { returns(T.nilable(String)) } - attr_reader :id - - sig { params(id: String).void } - attr_writer :id + sig { returns(String) } + attr_accessor :id # Name of the pay group - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name + sig { returns(String) } + attr_accessor :name # List of pay frequencies associated with this pay group sig do returns( - T.nilable( - T::Array[ - FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol - ] - ) + T::Array[ + FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol + ] ) end - attr_reader :pay_frequencies - - sig do - params( - pay_frequencies: - T::Array[ - FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::OrSymbol - ] - ).void - end - attr_writer :pay_frequencies + attr_accessor :pay_frequencies sig do params( @@ -60,11 +42,11 @@ module FinchAPI end def self.new( # Finch id (uuidv4) for the pay group - id: nil, + id:, # Name of the pay group - name: nil, + name:, # List of pay frequencies associated with this pay group - pay_frequencies: nil + pay_frequencies: ) end @@ -100,14 +82,14 @@ module FinchAPI :annually, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - SEMI_ANNUALLY = + BI_WEEKLY = T.let( - :semi_annually, + :bi_weekly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - QUARTERLY = + DAILY = T.let( - :quarterly, + :daily, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) MONTHLY = @@ -115,29 +97,29 @@ module FinchAPI :monthly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - SEMI_MONTHLY = + OTHER = T.let( - :semi_monthly, + :other, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - BI_WEEKLY = + QUARTERLY = T.let( - :bi_weekly, + :quarterly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - WEEKLY = + SEMI_ANNUALLY = T.let( - :weekly, + :semi_annually, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - DAILY = + SEMI_MONTHLY = T.let( - :daily, + :semi_monthly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - OTHER = + WEEKLY = T.let( - :other, + :weekly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) diff --git a/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi b/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi index 6a4f31f5..b340d962 100644 --- a/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi +++ b/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi @@ -88,14 +88,14 @@ module FinchAPI :annually, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - SEMI_ANNUALLY = + BI_WEEKLY = T.let( - :semi_annually, + :bi_weekly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - QUARTERLY = + DAILY = T.let( - :quarterly, + :daily, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) MONTHLY = @@ -103,29 +103,29 @@ module FinchAPI :monthly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - SEMI_MONTHLY = + OTHER = T.let( - :semi_monthly, + :other, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - BI_WEEKLY = + QUARTERLY = T.let( - :bi_weekly, + :quarterly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - WEEKLY = + SEMI_ANNUALLY = T.let( - :weekly, + :semi_annually, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - DAILY = + SEMI_MONTHLY = T.let( - :daily, + :semi_monthly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - OTHER = + WEEKLY = T.let( - :other, + :weekly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) diff --git a/rbi/finch_api/models/sandbox/payment_create_params.rbi b/rbi/finch_api/models/sandbox/payment_create_params.rbi index 848d5389..f2adb197 100644 --- a/rbi/finch_api/models/sandbox/payment_create_params.rbi +++ b/rbi/finch_api/models/sandbox/payment_create_params.rbi @@ -136,11 +136,8 @@ module FinchAPI attr_writer :gross_pay # A stable Finch `id` (UUID v4) for an individual in the company - sig { returns(T.nilable(String)) } - attr_reader :individual_id - - sig { params(individual_id: String).void } - attr_writer :individual_id + sig { returns(String) } + attr_accessor :individual_id sig { returns(T.nilable(FinchAPI::Money)) } attr_reader :net_pay @@ -236,22 +233,22 @@ module FinchAPI end def self.new( # The array of earnings objects associated with this pay statement - earnings: nil, + earnings:, # The array of deductions objects associated with this pay statement. - employee_deductions: nil, - employer_contributions: nil, - gross_pay: nil, + employee_deductions:, + employer_contributions:, + gross_pay:, # A stable Finch `id` (UUID v4) for an individual in the company - individual_id: nil, - net_pay: nil, + individual_id:, + net_pay:, # The payment method. - payment_method: nil, + payment_method:, # The array of taxes objects associated with this pay statement. - taxes: nil, + taxes:, # The number of hours worked for this pay period - total_hours: nil, + total_hours:, # The type of the payment associated with the pay statement. - type: nil + type: ) end @@ -321,25 +318,6 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - sig do - returns( - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes - ) - ) - end - attr_reader :attributes - - sig do - params( - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::OrHash - ) - ).void - end - attr_writer :attributes - # The earnings currency code. sig { returns(T.nilable(String)) } attr_accessor :currency @@ -363,35 +341,54 @@ module FinchAPI end attr_accessor :type + sig do + returns( + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes + ) + ) + end + attr_reader :attributes + sig do params( - amount: T.nilable(Integer), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::OrHash - ), + ) + ).void + end + attr_writer :attributes + + sig do + params( + amount: T.nilable(Integer), currency: T.nilable(String), hours: T.nilable(Float), name: T.nilable(String), type: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type::OrSymbol + ), + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::OrHash ) ).returns(T.attached_class) end def self.new( # The earnings amount in cents. - amount: nil, - attributes: nil, + amount:, # The earnings currency code. - currency: nil, + currency:, # The number of hours associated with this earning. (For salaried employees, this # could be hours per pay period, `0` or `null`, depending on the provider). - hours: nil, + hours:, # The exact name of the deduction from the pay statement. - name: nil, + name:, # The type of earning. - type: nil + type:, + attributes: nil ) end @@ -399,16 +396,16 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes - ), currency: T.nilable(String), hours: T.nilable(Float), name: T.nilable(String), type: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type::OrSymbol + ), + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes ) } ) @@ -416,97 +413,6 @@ module FinchAPI def to_hash end - class Attributes < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, - FinchAPI::Internal::AnyHash - ) - end - - sig do - returns( - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - ) - ) - end - attr_reader :metadata - - sig do - params( - metadata: - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata::OrHash - ).void - end - attr_writer :metadata - - sig do - params( - metadata: - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata::OrHash - ).returns(T.attached_class) - end - def self.new(metadata: nil) - end - - sig do - override.returns( - { - metadata: - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - } - ) - end - def to_hash - end - - class Metadata < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata, - FinchAPI::Internal::AnyHash - ) - end - - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - sig do - returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) - end - attr_reader :metadata - - sig do - params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void - end - attr_writer :metadata - - sig do - params( - metadata: T::Hash[Symbol, T.nilable(T.anything)] - ).returns(T.attached_class) - end - def self.new( - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - metadata: nil - ) - end - - sig do - override.returns( - { metadata: T::Hash[Symbol, T.nilable(T.anything)] } - ) - end - def to_hash - end - end - end - # The type of earning. module Type extend FinchAPI::Internal::Type::Enum @@ -596,6 +502,88 @@ module FinchAPI def self.values end end + + class Attributes < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, + FinchAPI::Internal::AnyHash + ) + end + + sig do + returns( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + ) + end + attr_reader :metadata + + sig do + params( + metadata: + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata::OrHash + ).void + end + attr_writer :metadata + + sig do + params( + metadata: + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata::OrHash + ).returns(T.attached_class) + end + def self.new(metadata:) + end + + sig do + override.returns( + { + metadata: + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + } + ) + end + def to_hash + end + + class Metadata < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) + end + + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } + attr_accessor :metadata + + sig do + params( + metadata: T::Hash[Symbol, T.nilable(T.anything)] + ).returns(T.attached_class) + end + def self.new( + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + metadata: + ) + end + + sig do + override.returns( + { metadata: T::Hash[Symbol, T.nilable(T.anything)] } + ) + end + def to_hash + end + end + end end class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel @@ -611,6 +599,22 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount + # The deduction currency. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # The deduction name from the pay statement. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Boolean indicating if the deduction is pre-tax. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :pre_tax + + # Type of benefit. + sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol)) } + attr_accessor :type + sig do returns( T.nilable( @@ -630,47 +634,31 @@ module FinchAPI end attr_writer :attributes - # The deduction currency. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # The deduction name from the pay statement. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Boolean indicating if the deduction is pre-tax. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :pre_tax - - # Type of benefit. - sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol)) } - attr_accessor :type - sig do params( amount: T.nilable(Integer), - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::OrHash - ), currency: T.nilable(String), name: T.nilable(String), pre_tax: T.nilable(T::Boolean), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::OrHash + ) ).returns(T.attached_class) end def self.new( # The deduction amount in cents. - amount: nil, - attributes: nil, + amount:, # The deduction currency. - currency: nil, + currency:, # The deduction name from the pay statement. - name: nil, + name:, # Boolean indicating if the deduction is pre-tax. - pre_tax: nil, + pre_tax:, # Type of benefit. - type: nil + type:, + attributes: nil ) end @@ -678,14 +666,14 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes - ), currency: T.nilable(String), name: T.nilable(String), pre_tax: T.nilable(T::Boolean), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes + ) } ) end @@ -703,9 +691,7 @@ module FinchAPI sig do returns( - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata - ) + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata ) end attr_reader :metadata @@ -724,7 +710,7 @@ module FinchAPI FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata: nil) + def self.new(metadata:) end sig do @@ -750,15 +736,8 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig do - returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) - end - attr_reader :metadata - - sig do - params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void - end - attr_writer :metadata + sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } + attr_accessor :metadata sig do params( @@ -769,7 +748,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: nil + metadata: ) end @@ -797,6 +776,18 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount + # The contribution currency. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # The contribution name from the pay statement. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Type of benefit. + sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol)) } + attr_accessor :type + sig do returns( T.nilable( @@ -816,40 +807,28 @@ module FinchAPI end attr_writer :attributes - # The contribution currency. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # The contribution name from the pay statement. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Type of benefit. - sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol)) } - attr_accessor :type - sig do params( amount: T.nilable(Integer), + currency: T.nilable(String), + name: T.nilable(String), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::OrHash - ), - currency: T.nilable(String), - name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) + ) ).returns(T.attached_class) end def self.new( # The contribution amount in cents. - amount: nil, - attributes: nil, + amount:, # The contribution currency. - currency: nil, + currency:, # The contribution name from the pay statement. - name: nil, + name:, # Type of benefit. - type: nil + type:, + attributes: nil ) end @@ -857,13 +836,13 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), + currency: T.nilable(String), + name: T.nilable(String), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes - ), - currency: T.nilable(String), - name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) + ) } ) end @@ -881,9 +860,7 @@ module FinchAPI sig do returns( - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata - ) + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata ) end attr_reader :metadata @@ -902,7 +879,7 @@ module FinchAPI FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata: nil) + def self.new(metadata:) end sig do @@ -928,15 +905,8 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig do - returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) - end - attr_reader :metadata - - sig do - params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void - end - attr_writer :metadata + sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } + attr_accessor :metadata sig do params( @@ -947,7 +917,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: nil + metadata: ) end @@ -1010,25 +980,6 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - sig do - returns( - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes - ) - ) - end - attr_reader :attributes - - sig do - params( - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::OrHash - ) - ).void - end - attr_writer :attributes - # The currency code. sig { returns(T.nilable(String)) } attr_accessor :currency @@ -1051,34 +1002,53 @@ module FinchAPI end attr_accessor :type + sig do + returns( + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes + ) + ) + end + attr_reader :attributes + sig do params( - amount: T.nilable(Integer), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::OrHash - ), + ) + ).void + end + attr_writer :attributes + + sig do + params( + amount: T.nilable(Integer), currency: T.nilable(String), employer: T.nilable(T::Boolean), name: T.nilable(String), type: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::OrSymbol + ), + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::OrHash ) ).returns(T.attached_class) end def self.new( # The tax amount in cents. - amount: nil, - attributes: nil, + amount:, # The currency code. - currency: nil, + currency:, # `true` if the amount is paid by the employers. - employer: nil, + employer:, # The exact name of tax from the pay statement. - name: nil, + name:, # The type of taxes. - type: nil + type:, + attributes: nil ) end @@ -1086,16 +1056,16 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes - ), currency: T.nilable(String), employer: T.nilable(T::Boolean), name: T.nilable(String), type: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::OrSymbol + ), + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes ) } ) @@ -1103,6 +1073,51 @@ module FinchAPI def to_hash end + # The type of taxes. + module Type + extend FinchAPI::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + STATE = + T.let( + :state, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ) + FEDERAL = + T.let( + :federal, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ) + LOCAL = + T.let( + :local, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ) + FICA = + T.let( + :fica, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do @@ -1114,9 +1129,7 @@ module FinchAPI sig do returns( - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata - ) + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata ) end attr_reader :metadata @@ -1135,7 +1148,7 @@ module FinchAPI FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata: nil) + def self.new(metadata:) end sig do @@ -1161,15 +1174,8 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig do - returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) - end - attr_reader :metadata - - sig do - params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void - end - attr_writer :metadata + sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } + attr_accessor :metadata sig do params( @@ -1180,7 +1186,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: nil + metadata: ) end @@ -1193,51 +1199,6 @@ module FinchAPI end end end - - # The type of taxes. - module Type - extend FinchAPI::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - STATE = - T.let( - :state, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ) - FEDERAL = - T.let( - :federal, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ) - LOCAL = - T.let( - :local, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ) - FICA = - T.let( - :fica, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ] - ) - end - def self.values - end - end end # The type of the payment associated with the pay statement. diff --git a/sig/finch_api/models/hris/benefit_type.rbs b/sig/finch_api/models/hris/benefit_type.rbs index e8ee3636..60b14edd 100644 --- a/sig/finch_api/models/hris/benefit_type.rbs +++ b/sig/finch_api/models/hris/benefit_type.rbs @@ -2,48 +2,48 @@ module FinchAPI module Models module HRIS type benefit_type = - :"401k" + :"457" + | :"401k" | :"401k_roth" | :"401k_loan" | :"403b" | :"403b_roth" - | :"457" | :"457_roth" - | :s125_medical - | :s125_dental - | :s125_vision - | :hsa_pre - | :hsa_post - | :fsa_medical - | :fsa_dependent_care - | :simple_ira - | :simple | :commuter | :custom_post_tax | :custom_pre_tax + | :fsa_dependent_care + | :fsa_medical + | :hsa_post + | :hsa_pre + | :s125_dental + | :s125_medical + | :s125_vision + | :simple + | :simple_ira module BenefitType extend FinchAPI::Internal::Type::Enum + BENEFIT_TYPE_457: :"457" BENEFIT_TYPE_401K: :"401k" BENEFIT_TYPE_401K_ROTH: :"401k_roth" BENEFIT_TYPE_401K_LOAN: :"401k_loan" BENEFIT_TYPE_403B: :"403b" BENEFIT_TYPE_403B_ROTH: :"403b_roth" - BENEFIT_TYPE_457: :"457" BENEFIT_TYPE_457_ROTH: :"457_roth" - S125_MEDICAL: :s125_medical - S125_DENTAL: :s125_dental - S125_VISION: :s125_vision - HSA_PRE: :hsa_pre - HSA_POST: :hsa_post - FSA_MEDICAL: :fsa_medical - FSA_DEPENDENT_CARE: :fsa_dependent_care - SIMPLE_IRA: :simple_ira - SIMPLE: :simple COMMUTER: :commuter CUSTOM_POST_TAX: :custom_post_tax CUSTOM_PRE_TAX: :custom_pre_tax + FSA_DEPENDENT_CARE: :fsa_dependent_care + FSA_MEDICAL: :fsa_medical + HSA_POST: :hsa_post + HSA_PRE: :hsa_pre + S125_DENTAL: :s125_dental + S125_MEDICAL: :s125_medical + S125_VISION: :s125_vision + SIMPLE: :simple + SIMPLE_IRA: :simple_ira def self?.values: -> ::Array[FinchAPI::Models::HRIS::benefit_type] end diff --git a/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs b/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs index 75713a6d..e34b7a3a 100644 --- a/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs +++ b/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs @@ -10,48 +10,38 @@ module FinchAPI } class PayStatementItemListResponse < FinchAPI::Internal::Type::BaseModel - attr_reader attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes? + attr_accessor attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes - def attributes=: ( - FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes - ) -> FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes + attr_accessor category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category - attr_reader category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category? - - def category=: ( - FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category - ) -> FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category - - attr_reader name: String? - - def name=: (String) -> String + attr_accessor name: String def initialize: ( - ?attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, - ?category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category, - ?name: String + attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, + category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category, + name: String ) -> void type attributes = { - employer: bool?, metadata: ::Hash[Symbol, top?]?, + employer: bool?, pre_tax: bool?, type: String? } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor employer: bool? - attr_accessor metadata: ::Hash[Symbol, top?]? + attr_accessor employer: bool? + attr_accessor pre_tax: bool? attr_accessor type: String? def initialize: ( + metadata: ::Hash[Symbol, top?]?, ?employer: bool?, - ?metadata: ::Hash[Symbol, top?]?, ?pre_tax: bool?, ?type: String? ) -> void diff --git a/sig/finch_api/models/hris/pay_statement.rbs b/sig/finch_api/models/hris/pay_statement.rbs index 5542547c..78ffa800 100644 --- a/sig/finch_api/models/hris/pay_statement.rbs +++ b/sig/finch_api/models/hris/pay_statement.rbs @@ -24,9 +24,7 @@ module FinchAPI attr_accessor gross_pay: FinchAPI::Money? - attr_reader individual_id: String? - - def individual_id=: (String) -> String + attr_accessor individual_id: String attr_accessor net_pay: FinchAPI::Money? @@ -39,33 +37,31 @@ module FinchAPI attr_accessor type: FinchAPI::HRIS::PayStatement::type_? def initialize: ( - ?earnings: ::Array[FinchAPI::HRIS::PayStatement::Earning?]?, - ?employee_deductions: ::Array[FinchAPI::HRIS::PayStatement::EmployeeDeduction?]?, - ?employer_contributions: ::Array[FinchAPI::HRIS::PayStatement::EmployerContribution?]?, - ?gross_pay: FinchAPI::Money?, - ?individual_id: String, - ?net_pay: FinchAPI::Money?, - ?payment_method: FinchAPI::HRIS::PayStatement::payment_method?, - ?taxes: ::Array[FinchAPI::HRIS::PayStatement::Tax?]?, - ?total_hours: Float?, - ?type: FinchAPI::HRIS::PayStatement::type_? + earnings: ::Array[FinchAPI::HRIS::PayStatement::Earning?]?, + employee_deductions: ::Array[FinchAPI::HRIS::PayStatement::EmployeeDeduction?]?, + employer_contributions: ::Array[FinchAPI::HRIS::PayStatement::EmployerContribution?]?, + gross_pay: FinchAPI::Money?, + individual_id: String, + net_pay: FinchAPI::Money?, + payment_method: FinchAPI::HRIS::PayStatement::payment_method?, + taxes: ::Array[FinchAPI::HRIS::PayStatement::Tax?]?, + total_hours: Float?, + type: FinchAPI::HRIS::PayStatement::type_? ) -> void type earning = { amount: Integer?, - attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes?, currency: String?, hours: Float?, name: String?, - type: FinchAPI::HRIS::PayStatement::Earning::type_? + type: FinchAPI::HRIS::PayStatement::Earning::type_?, + attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes? } class Earning < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes? - attr_accessor currency: String? attr_accessor hours: Float? @@ -74,42 +70,17 @@ module FinchAPI attr_accessor type: FinchAPI::HRIS::PayStatement::Earning::type_? + attr_accessor attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes? + def initialize: ( - ?amount: Integer?, - ?attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes?, - ?currency: String?, - ?hours: Float?, - ?name: String?, - ?type: FinchAPI::HRIS::PayStatement::Earning::type_? + amount: Integer?, + currency: String?, + hours: Float?, + name: String?, + type: FinchAPI::HRIS::PayStatement::Earning::type_?, + ?attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes? ) -> void - type attributes = - { - metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - } - - class Attributes < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata? - - def metadata=: ( - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - ) -> FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - - def initialize: ( - ?metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - ) -> void - - type metadata = { metadata: ::Hash[Symbol, top?] } - - class Metadata < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: ::Hash[Symbol, top?]? - - def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] - - def initialize: (?metadata: ::Hash[Symbol, top?]) -> void - end - end - type type_ = :salary | :wage @@ -144,23 +115,42 @@ module FinchAPI def self?.values: -> ::Array[FinchAPI::HRIS::PayStatement::Earning::type_] end + + type attributes = + { + metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + } + + class Attributes < FinchAPI::Internal::Type::BaseModel + attr_accessor metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + + def initialize: ( + metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + ) -> void + + type metadata = { metadata: ::Hash[Symbol, top?] } + + class Metadata < FinchAPI::Internal::Type::BaseModel + attr_accessor metadata: ::Hash[Symbol, top?] + + def initialize: (metadata: ::Hash[Symbol, top?]) -> void + end + end end type employee_deduction = { amount: Integer?, - attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes?, currency: String?, name: String?, pre_tax: bool?, - type: FinchAPI::Models::HRIS::benefit_type? + type: FinchAPI::Models::HRIS::benefit_type?, + attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes? } class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes? - attr_accessor currency: String? attr_accessor name: String? @@ -169,13 +159,15 @@ module FinchAPI attr_accessor type: FinchAPI::Models::HRIS::benefit_type? + attr_accessor attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes? + def initialize: ( - ?amount: Integer?, - ?attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes?, - ?currency: String?, - ?name: String?, - ?pre_tax: bool?, - ?type: FinchAPI::Models::HRIS::benefit_type? + amount: Integer?, + currency: String?, + name: String?, + pre_tax: bool?, + type: FinchAPI::Models::HRIS::benefit_type?, + ?attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes? ) -> void type attributes = @@ -184,24 +176,18 @@ module FinchAPI } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata? - - def metadata=: ( - FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata - ) -> FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata + attr_accessor metadata: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata def initialize: ( - ?metadata: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata + metadata: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: ::Hash[Symbol, top?]? - - def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] + attr_accessor metadata: ::Hash[Symbol, top?] - def initialize: (?metadata: ::Hash[Symbol, top?]) -> void + def initialize: (metadata: ::Hash[Symbol, top?]) -> void end end end @@ -209,29 +195,29 @@ module FinchAPI type employer_contribution = { amount: Integer?, - attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes?, currency: String?, name: String?, - type: FinchAPI::Models::HRIS::benefit_type? + type: FinchAPI::Models::HRIS::benefit_type?, + attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes? } class EmployerContribution < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes? - attr_accessor currency: String? attr_accessor name: String? attr_accessor type: FinchAPI::Models::HRIS::benefit_type? + attr_accessor attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes? + def initialize: ( - ?amount: Integer?, - ?attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes?, - ?currency: String?, - ?name: String?, - ?type: FinchAPI::Models::HRIS::benefit_type? + amount: Integer?, + currency: String?, + name: String?, + type: FinchAPI::Models::HRIS::benefit_type?, + ?attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes? ) -> void type attributes = @@ -240,24 +226,18 @@ module FinchAPI } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata? - - def metadata=: ( - FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata - ) -> FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata + attr_accessor metadata: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata def initialize: ( - ?metadata: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata + metadata: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: ::Hash[Symbol, top?]? + attr_accessor metadata: ::Hash[Symbol, top?] - def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] - - def initialize: (?metadata: ::Hash[Symbol, top?]) -> void + def initialize: (metadata: ::Hash[Symbol, top?]) -> void end end end @@ -276,18 +256,16 @@ module FinchAPI type tax = { amount: Integer?, - attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes?, currency: String?, employer: bool?, name: String?, - type: FinchAPI::HRIS::PayStatement::Tax::type_? + type: FinchAPI::HRIS::PayStatement::Tax::type_?, + attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes? } class Tax < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes? - attr_accessor currency: String? attr_accessor employer: bool? @@ -296,54 +274,50 @@ module FinchAPI attr_accessor type: FinchAPI::HRIS::PayStatement::Tax::type_? + attr_accessor attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes? + def initialize: ( - ?amount: Integer?, - ?attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes?, - ?currency: String?, - ?employer: bool?, - ?name: String?, - ?type: FinchAPI::HRIS::PayStatement::Tax::type_? + amount: Integer?, + currency: String?, + employer: bool?, + name: String?, + type: FinchAPI::HRIS::PayStatement::Tax::type_?, + ?attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes? ) -> void + type type_ = :state | :federal | :local | :fica + + module Type + extend FinchAPI::Internal::Type::Enum + + STATE: :state + FEDERAL: :federal + LOCAL: :local + FICA: :fica + + def self?.values: -> ::Array[FinchAPI::HRIS::PayStatement::Tax::type_] + end + type attributes = { metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata? - - def metadata=: ( - FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata - ) -> FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata + attr_accessor metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata def initialize: ( - ?metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata + metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: ::Hash[Symbol, top?]? + attr_accessor metadata: ::Hash[Symbol, top?] - def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] - - def initialize: (?metadata: ::Hash[Symbol, top?]) -> void + def initialize: (metadata: ::Hash[Symbol, top?]) -> void end end - - type type_ = :state | :federal | :local | :fica - - module Type - extend FinchAPI::Internal::Type::Enum - - STATE: :state - FEDERAL: :federal - LOCAL: :local - FICA: :fica - - def self?.values: -> ::Array[FinchAPI::HRIS::PayStatement::Tax::type_] - end end type type_ = :regular_payroll | :off_cycle_payroll | :one_time_payment diff --git a/sig/finch_api/models/hris/pay_statement_response.rbs b/sig/finch_api/models/hris/pay_statement_response.rbs index 16a109ce..bf8cbb95 100644 --- a/sig/finch_api/models/hris/pay_statement_response.rbs +++ b/sig/finch_api/models/hris/pay_statement_response.rbs @@ -9,24 +9,16 @@ module FinchAPI } class PayStatementResponse < FinchAPI::Internal::Type::BaseModel - attr_reader body: FinchAPI::HRIS::PayStatementResponseBody? + attr_accessor body: FinchAPI::HRIS::PayStatementResponseBody - def body=: ( - FinchAPI::HRIS::PayStatementResponseBody - ) -> FinchAPI::HRIS::PayStatementResponseBody + attr_accessor code: Integer - attr_reader code: Integer? - - def code=: (Integer) -> Integer - - attr_reader payment_id: String? - - def payment_id=: (String) -> String + attr_accessor payment_id: String def initialize: ( - ?body: FinchAPI::HRIS::PayStatementResponseBody, - ?code: Integer, - ?payment_id: String + body: FinchAPI::HRIS::PayStatementResponseBody, + code: Integer, + payment_id: String ) -> void end end diff --git a/sig/finch_api/models/hris/pay_statement_response_body.rbs b/sig/finch_api/models/hris/pay_statement_response_body.rbs index 03b7d292..0f98fddd 100644 --- a/sig/finch_api/models/hris/pay_statement_response_body.rbs +++ b/sig/finch_api/models/hris/pay_statement_response_body.rbs @@ -3,25 +3,31 @@ module FinchAPI module HRIS type pay_statement_response_body = { - paging: FinchAPI::Paging, + paging: FinchAPI::HRIS::PayStatementResponseBody::Paging, pay_statements: ::Array[FinchAPI::HRIS::PayStatement] } class PayStatementResponseBody < FinchAPI::Internal::Type::BaseModel - attr_reader paging: FinchAPI::Paging? + attr_accessor paging: FinchAPI::HRIS::PayStatementResponseBody::Paging - def paging=: (FinchAPI::Paging) -> FinchAPI::Paging - - attr_reader pay_statements: ::Array[FinchAPI::HRIS::PayStatement]? - - def pay_statements=: ( - ::Array[FinchAPI::HRIS::PayStatement] - ) -> ::Array[FinchAPI::HRIS::PayStatement] + attr_accessor pay_statements: ::Array[FinchAPI::HRIS::PayStatement] def initialize: ( - ?paging: FinchAPI::Paging, - ?pay_statements: ::Array[FinchAPI::HRIS::PayStatement] + paging: FinchAPI::HRIS::PayStatementResponseBody::Paging, + pay_statements: ::Array[FinchAPI::HRIS::PayStatement] ) -> void + + type paging = { offset: Integer, count: Integer } + + class Paging < FinchAPI::Internal::Type::BaseModel + attr_accessor offset: Integer + + attr_reader count: Integer? + + def count=: (Integer) -> Integer + + def initialize: (offset: Integer, ?count: Integer) -> void + end end end end diff --git a/sig/finch_api/models/hris/payment.rbs b/sig/finch_api/models/hris/payment.rbs index 8950479b..348b3901 100644 --- a/sig/finch_api/models/hris/payment.rbs +++ b/sig/finch_api/models/hris/payment.rbs @@ -18,9 +18,7 @@ module FinchAPI } class Payment < FinchAPI::Internal::Type::BaseModel - attr_reader id: String? - - def id=: (String) -> String + attr_accessor id: String attr_accessor company_debit: FinchAPI::Money? @@ -45,43 +43,43 @@ module FinchAPI attr_accessor pay_period: FinchAPI::HRIS::Payment::PayPeriod? def initialize: ( - ?id: String, - ?company_debit: FinchAPI::Money?, - ?debit_date: String?, - ?employee_taxes: FinchAPI::Money?, - ?employer_taxes: FinchAPI::Money?, - ?gross_pay: FinchAPI::Money?, - ?individual_ids: ::Array[String]?, - ?net_pay: FinchAPI::Money?, - ?pay_date: String?, - ?pay_frequencies: ::Array[FinchAPI::HRIS::Payment::pay_frequency]?, - ?pay_group_ids: ::Array[String]?, - ?pay_period: FinchAPI::HRIS::Payment::PayPeriod? + id: String, + company_debit: FinchAPI::Money?, + debit_date: String?, + employee_taxes: FinchAPI::Money?, + employer_taxes: FinchAPI::Money?, + gross_pay: FinchAPI::Money?, + individual_ids: ::Array[String]?, + net_pay: FinchAPI::Money?, + pay_date: String?, + pay_frequencies: ::Array[FinchAPI::HRIS::Payment::pay_frequency]?, + pay_group_ids: ::Array[String]?, + pay_period: FinchAPI::HRIS::Payment::PayPeriod? ) -> void type pay_frequency = :annually - | :semi_annually - | :quarterly - | :monthly - | :semi_monthly | :bi_weekly - | :weekly | :daily + | :monthly | :other + | :quarterly + | :semi_annually + | :semi_monthly + | :weekly module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY: :annually - SEMI_ANNUALLY: :semi_annually - QUARTERLY: :quarterly - MONTHLY: :monthly - SEMI_MONTHLY: :semi_monthly BI_WEEKLY: :bi_weekly - WEEKLY: :weekly DAILY: :daily + MONTHLY: :monthly OTHER: :other + QUARTERLY: :quarterly + SEMI_ANNUALLY: :semi_annually + SEMI_MONTHLY: :semi_monthly + WEEKLY: :weekly def self?.values: -> ::Array[FinchAPI::HRIS::Payment::pay_frequency] end @@ -93,7 +91,7 @@ module FinchAPI attr_accessor start_date: String? - def initialize: (?end_date: String?, ?start_date: String?) -> void + def initialize: (end_date: String?, start_date: String?) -> void end end end diff --git a/sig/finch_api/models/money.rbs b/sig/finch_api/models/money.rbs index 31fc9398..21f442f4 100644 --- a/sig/finch_api/models/money.rbs +++ b/sig/finch_api/models/money.rbs @@ -5,11 +5,9 @@ module FinchAPI class Money < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_reader currency: String? + attr_accessor currency: String - def currency=: (String) -> String - - def initialize: (?amount: Integer?, ?currency: String) -> void + def initialize: (amount: Integer?, currency: String) -> void end end end diff --git a/sig/finch_api/models/payroll/pay_group_list_response.rbs b/sig/finch_api/models/payroll/pay_group_list_response.rbs index 9b203674..da82c9a9 100644 --- a/sig/finch_api/models/payroll/pay_group_list_response.rbs +++ b/sig/finch_api/models/payroll/pay_group_list_response.rbs @@ -9,49 +9,41 @@ module FinchAPI } class PayGroupListResponse < FinchAPI::Internal::Type::BaseModel - attr_reader id: String? + attr_accessor id: String - def id=: (String) -> String + attr_accessor name: String - attr_reader name: String? - - def name=: (String) -> String - - attr_reader pay_frequencies: ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency]? - - def pay_frequencies=: ( - ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] - ) -> ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] + attr_accessor pay_frequencies: ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] def initialize: ( - ?id: String, - ?name: String, - ?pay_frequencies: ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] + id: String, + name: String, + pay_frequencies: ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] ) -> void type pay_frequency = :annually - | :semi_annually - | :quarterly - | :monthly - | :semi_monthly | :bi_weekly - | :weekly | :daily + | :monthly | :other + | :quarterly + | :semi_annually + | :semi_monthly + | :weekly module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY: :annually - SEMI_ANNUALLY: :semi_annually - QUARTERLY: :quarterly - MONTHLY: :monthly - SEMI_MONTHLY: :semi_monthly BI_WEEKLY: :bi_weekly - WEEKLY: :weekly DAILY: :daily + MONTHLY: :monthly OTHER: :other + QUARTERLY: :quarterly + SEMI_ANNUALLY: :semi_annually + SEMI_MONTHLY: :semi_monthly + WEEKLY: :weekly def self?.values: -> ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] end diff --git a/sig/finch_api/models/payroll/pay_group_retrieve_response.rbs b/sig/finch_api/models/payroll/pay_group_retrieve_response.rbs index 4fbffd0b..8013b72f 100644 --- a/sig/finch_api/models/payroll/pay_group_retrieve_response.rbs +++ b/sig/finch_api/models/payroll/pay_group_retrieve_response.rbs @@ -27,27 +27,27 @@ module FinchAPI type pay_frequency = :annually - | :semi_annually - | :quarterly - | :monthly - | :semi_monthly | :bi_weekly - | :weekly | :daily + | :monthly | :other + | :quarterly + | :semi_annually + | :semi_monthly + | :weekly module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY: :annually - SEMI_ANNUALLY: :semi_annually - QUARTERLY: :quarterly - MONTHLY: :monthly - SEMI_MONTHLY: :semi_monthly BI_WEEKLY: :bi_weekly - WEEKLY: :weekly DAILY: :daily + MONTHLY: :monthly OTHER: :other + QUARTERLY: :quarterly + SEMI_ANNUALLY: :semi_annually + SEMI_MONTHLY: :semi_monthly + WEEKLY: :weekly def self?.values: -> ::Array[FinchAPI::Models::Payroll::PayGroupRetrieveResponse::pay_frequency] end diff --git a/sig/finch_api/models/sandbox/payment_create_params.rbs b/sig/finch_api/models/sandbox/payment_create_params.rbs index 7019dbc7..999fcda1 100644 --- a/sig/finch_api/models/sandbox/payment_create_params.rbs +++ b/sig/finch_api/models/sandbox/payment_create_params.rbs @@ -57,9 +57,7 @@ module FinchAPI attr_accessor gross_pay: FinchAPI::Money? - attr_reader individual_id: String? - - def individual_id=: (String) -> String + attr_accessor individual_id: String attr_accessor net_pay: FinchAPI::Money? @@ -72,33 +70,31 @@ module FinchAPI attr_accessor type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::type_? def initialize: ( - ?earnings: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning?]?, - ?employee_deductions: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction?]?, - ?employer_contributions: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution?]?, - ?gross_pay: FinchAPI::Money?, - ?individual_id: String, - ?net_pay: FinchAPI::Money?, - ?payment_method: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::payment_method?, - ?taxes: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax?]?, - ?total_hours: Float?, - ?type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::type_? + earnings: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning?]?, + employee_deductions: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction?]?, + employer_contributions: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution?]?, + gross_pay: FinchAPI::Money?, + individual_id: String, + net_pay: FinchAPI::Money?, + payment_method: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::payment_method?, + taxes: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax?]?, + total_hours: Float?, + type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::type_? ) -> void type earning = { amount: Integer?, - attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes?, currency: String?, hours: Float?, name: String?, - type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_? + type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_?, + attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes? } class Earning < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes? - attr_accessor currency: String? attr_accessor hours: Float? @@ -107,42 +103,17 @@ module FinchAPI attr_accessor type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_? + attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes? + def initialize: ( - ?amount: Integer?, - ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes?, - ?currency: String?, - ?hours: Float?, - ?name: String?, - ?type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_? + amount: Integer?, + currency: String?, + hours: Float?, + name: String?, + type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_?, + ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes? ) -> void - type attributes = - { - metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - } - - class Attributes < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata? - - def metadata=: ( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - ) -> FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - - def initialize: ( - ?metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - ) -> void - - type metadata = { metadata: ::Hash[Symbol, top?] } - - class Metadata < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: ::Hash[Symbol, top?]? - - def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] - - def initialize: (?metadata: ::Hash[Symbol, top?]) -> void - end - end - type type_ = :salary | :wage @@ -177,23 +148,42 @@ module FinchAPI def self?.values: -> ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_] end + + type attributes = + { + metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + } + + class Attributes < FinchAPI::Internal::Type::BaseModel + attr_accessor metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + + def initialize: ( + metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + ) -> void + + type metadata = { metadata: ::Hash[Symbol, top?] } + + class Metadata < FinchAPI::Internal::Type::BaseModel + attr_accessor metadata: ::Hash[Symbol, top?] + + def initialize: (metadata: ::Hash[Symbol, top?]) -> void + end + end end type employee_deduction = { amount: Integer?, - attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes?, currency: String?, name: String?, pre_tax: bool?, - type: FinchAPI::Models::HRIS::benefit_type? + type: FinchAPI::Models::HRIS::benefit_type?, + attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes? } class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes? - attr_accessor currency: String? attr_accessor name: String? @@ -202,13 +192,15 @@ module FinchAPI attr_accessor type: FinchAPI::Models::HRIS::benefit_type? + attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes? + def initialize: ( - ?amount: Integer?, - ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes?, - ?currency: String?, - ?name: String?, - ?pre_tax: bool?, - ?type: FinchAPI::Models::HRIS::benefit_type? + amount: Integer?, + currency: String?, + name: String?, + pre_tax: bool?, + type: FinchAPI::Models::HRIS::benefit_type?, + ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes? ) -> void type attributes = @@ -217,24 +209,18 @@ module FinchAPI } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata? - - def metadata=: ( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata - ) -> FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata + attr_accessor metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata def initialize: ( - ?metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata + metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: ::Hash[Symbol, top?]? - - def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] + attr_accessor metadata: ::Hash[Symbol, top?] - def initialize: (?metadata: ::Hash[Symbol, top?]) -> void + def initialize: (metadata: ::Hash[Symbol, top?]) -> void end end end @@ -242,29 +228,29 @@ module FinchAPI type employer_contribution = { amount: Integer?, - attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes?, currency: String?, name: String?, - type: FinchAPI::Models::HRIS::benefit_type? + type: FinchAPI::Models::HRIS::benefit_type?, + attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes? } class EmployerContribution < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes? - attr_accessor currency: String? attr_accessor name: String? attr_accessor type: FinchAPI::Models::HRIS::benefit_type? + attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes? + def initialize: ( - ?amount: Integer?, - ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes?, - ?currency: String?, - ?name: String?, - ?type: FinchAPI::Models::HRIS::benefit_type? + amount: Integer?, + currency: String?, + name: String?, + type: FinchAPI::Models::HRIS::benefit_type?, + ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes? ) -> void type attributes = @@ -273,24 +259,18 @@ module FinchAPI } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata? - - def metadata=: ( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata - ) -> FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata + attr_accessor metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata def initialize: ( - ?metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata + metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: ::Hash[Symbol, top?]? + attr_accessor metadata: ::Hash[Symbol, top?] - def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] - - def initialize: (?metadata: ::Hash[Symbol, top?]) -> void + def initialize: (metadata: ::Hash[Symbol, top?]) -> void end end end @@ -309,18 +289,16 @@ module FinchAPI type tax = { amount: Integer?, - attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes?, currency: String?, employer: bool?, name: String?, - type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_? + type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_?, + attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes? } class Tax < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes? - attr_accessor currency: String? attr_accessor employer: bool? @@ -329,54 +307,50 @@ module FinchAPI attr_accessor type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_? + attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes? + def initialize: ( - ?amount: Integer?, - ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes?, - ?currency: String?, - ?employer: bool?, - ?name: String?, - ?type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_? + amount: Integer?, + currency: String?, + employer: bool?, + name: String?, + type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_?, + ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes? ) -> void + type type_ = :state | :federal | :local | :fica + + module Type + extend FinchAPI::Internal::Type::Enum + + STATE: :state + FEDERAL: :federal + LOCAL: :local + FICA: :fica + + def self?.values: -> ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_] + end + type attributes = { metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata? - - def metadata=: ( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata - ) -> FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata + attr_accessor metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata def initialize: ( - ?metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata + metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_reader metadata: ::Hash[Symbol, top?]? + attr_accessor metadata: ::Hash[Symbol, top?] - def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] - - def initialize: (?metadata: ::Hash[Symbol, top?]) -> void + def initialize: (metadata: ::Hash[Symbol, top?]) -> void end end - - type type_ = :state | :federal | :local | :fica - - module Type - extend FinchAPI::Internal::Type::Enum - - STATE: :state - FEDERAL: :federal - LOCAL: :local - FICA: :fica - - def self?.values: -> ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_] - end end type type_ = :regular_payroll | :off_cycle_payroll | :one_time_payment diff --git a/test/finch_api/resources/hris/company/pay_statement_item_test.rb b/test/finch_api/resources/hris/company/pay_statement_item_test.rb index b666c2ce..9f6a30a5 100644 --- a/test/finch_api/resources/hris/company/pay_statement_item_test.rb +++ b/test/finch_api/resources/hris/company/pay_statement_item_test.rb @@ -19,9 +19,9 @@ def test_list assert_pattern do row => { - attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes | nil, - category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category | nil, - name: String | nil + attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, + category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category, + name: String } end end diff --git a/test/finch_api/resources/hris/pay_statements_test.rb b/test/finch_api/resources/hris/pay_statements_test.rb index 735fa76d..43e820b2 100644 --- a/test/finch_api/resources/hris/pay_statements_test.rb +++ b/test/finch_api/resources/hris/pay_statements_test.rb @@ -20,9 +20,9 @@ def test_retrieve_many_required_params assert_pattern do row => { - body: FinchAPI::HRIS::PayStatementResponseBody | nil, - code: Integer | nil, - payment_id: String | nil + body: FinchAPI::HRIS::PayStatementResponseBody, + code: Integer, + payment_id: String } end end diff --git a/test/finch_api/resources/hris/payments_test.rb b/test/finch_api/resources/hris/payments_test.rb index fb27a74b..d7ca30a0 100644 --- a/test/finch_api/resources/hris/payments_test.rb +++ b/test/finch_api/resources/hris/payments_test.rb @@ -19,7 +19,7 @@ def test_list_required_params assert_pattern do row => { - id: String | nil, + id: String, company_debit: FinchAPI::Money | nil, debit_date: String | nil, employee_taxes: FinchAPI::Money | nil, diff --git a/test/finch_api/resources/payroll/pay_groups_test.rb b/test/finch_api/resources/payroll/pay_groups_test.rb index bd1d6b53..d28f0b85 100644 --- a/test/finch_api/resources/payroll/pay_groups_test.rb +++ b/test/finch_api/resources/payroll/pay_groups_test.rb @@ -36,9 +36,9 @@ def test_list assert_pattern do row => { - id: String | nil, - name: String | nil, - pay_frequencies: ^(FinchAPI::Internal::Type::ArrayOf[enum: FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency]) | nil + id: String, + name: String, + pay_frequencies: ^(FinchAPI::Internal::Type::ArrayOf[enum: FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency]) } end end From db147236a70addae46834af9b8339400480a7600 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 15 May 2025 21:40:38 +0000 Subject: [PATCH 10/12] feat(api): api update --- .stats.yml | 4 ++-- lib/finch_api/models/hris/pay_statement.rb | 1 + lib/finch_api/models/sandbox/payment_create_params.rb | 1 + rbi/finch_api/models/hris/pay_statement.rbi | 5 +++++ rbi/finch_api/models/sandbox/payment_create_params.rbi | 5 +++++ sig/finch_api/models/hris/pay_statement.rbs | 3 ++- sig/finch_api/models/sandbox/payment_create_params.rbs | 3 ++- 7 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.stats.yml b/.stats.yml index c621e60f..15160804 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 46 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-331df2398447990a86899b05ac569534b6a7e4ff1d73a319d57f67b34a201fb7.yml -openapi_spec_hash: 6e57516524c0519e90213c0554b26ab4 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-2450f9bcc309174bb09e7cc75c3d873240626676782a6d0aa7578395adfa80a8.yml +openapi_spec_hash: ce0eebc26042d65a7831455ca7e9c5a8 config_hash: 53778a0b839c4f6ad34fbba051f5e8a6 diff --git a/lib/finch_api/models/hris/pay_statement.rb b/lib/finch_api/models/hris/pay_statement.rb index 2f148fc7..00f019e0 100644 --- a/lib/finch_api/models/hris/pay_statement.rb +++ b/lib/finch_api/models/hris/pay_statement.rb @@ -370,6 +370,7 @@ module PaymentMethod CHECK = :check DIRECT_DEPOSIT = :direct_deposit + OTHER = :other # @!method self.values # @return [Array] diff --git a/lib/finch_api/models/sandbox/payment_create_params.rb b/lib/finch_api/models/sandbox/payment_create_params.rb index 8d62412b..2b47cc97 100644 --- a/lib/finch_api/models/sandbox/payment_create_params.rb +++ b/lib/finch_api/models/sandbox/payment_create_params.rb @@ -423,6 +423,7 @@ module PaymentMethod CHECK = :check DIRECT_DEPOSIT = :direct_deposit + OTHER = :other # @!method self.values # @return [Array] diff --git a/rbi/finch_api/models/hris/pay_statement.rbi b/rbi/finch_api/models/hris/pay_statement.rbi index a075604f..64ea5c4d 100644 --- a/rbi/finch_api/models/hris/pay_statement.rbi +++ b/rbi/finch_api/models/hris/pay_statement.rbi @@ -822,6 +822,11 @@ module FinchAPI :direct_deposit, FinchAPI::HRIS::PayStatement::PaymentMethod::TaggedSymbol ) + OTHER = + T.let( + :other, + FinchAPI::HRIS::PayStatement::PaymentMethod::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/finch_api/models/sandbox/payment_create_params.rbi b/rbi/finch_api/models/sandbox/payment_create_params.rbi index f2adb197..f92aa993 100644 --- a/rbi/finch_api/models/sandbox/payment_create_params.rbi +++ b/rbi/finch_api/models/sandbox/payment_create_params.rbi @@ -955,6 +955,11 @@ module FinchAPI :direct_deposit, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::PaymentMethod::TaggedSymbol ) + OTHER = + T.let( + :other, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::PaymentMethod::TaggedSymbol + ) sig do override.returns( diff --git a/sig/finch_api/models/hris/pay_statement.rbs b/sig/finch_api/models/hris/pay_statement.rbs index 78ffa800..cfbd5956 100644 --- a/sig/finch_api/models/hris/pay_statement.rbs +++ b/sig/finch_api/models/hris/pay_statement.rbs @@ -242,13 +242,14 @@ module FinchAPI end end - type payment_method = :check | :direct_deposit + type payment_method = :check | :direct_deposit | :other module PaymentMethod extend FinchAPI::Internal::Type::Enum CHECK: :check DIRECT_DEPOSIT: :direct_deposit + OTHER: :other def self?.values: -> ::Array[FinchAPI::HRIS::PayStatement::payment_method] end diff --git a/sig/finch_api/models/sandbox/payment_create_params.rbs b/sig/finch_api/models/sandbox/payment_create_params.rbs index 999fcda1..ea37c270 100644 --- a/sig/finch_api/models/sandbox/payment_create_params.rbs +++ b/sig/finch_api/models/sandbox/payment_create_params.rbs @@ -275,13 +275,14 @@ module FinchAPI end end - type payment_method = :check | :direct_deposit + type payment_method = :check | :direct_deposit | :other module PaymentMethod extend FinchAPI::Internal::Type::Enum CHECK: :check DIRECT_DEPOSIT: :direct_deposit + OTHER: :other def self?.values: -> ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::payment_method] end From 2cd76772fe2768477bb236372c94887a7f1f7022 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 16 May 2025 04:50:01 +0000 Subject: [PATCH 11/12] feat(api): api update --- .stats.yml | 4 +- lib/finch_api/models/hris/benefit_type.rb | 20 +- .../pay_statement_item_list_response.rb | 36 +- lib/finch_api/models/hris/pay_statement.rb | 258 ++++---- .../models/hris/pay_statement_response.rb | 14 +- .../hris/pay_statement_response_body.rb | 36 +- lib/finch_api/models/hris/payment.rb | 44 +- lib/finch_api/models/money.rb | 8 +- .../models/payroll/pay_group_list_response.rb | 24 +- .../payroll/pay_group_retrieve_response.rb | 10 +- .../models/sandbox/payment_create_params.rb | 276 ++++----- rbi/finch_api/models/hris/benefit_type.rbi | 32 +- .../pay_statement_item_list_response.rbi | 51 +- rbi/finch_api/models/hris/pay_statement.rbi | 558 +++++++++-------- .../models/hris/pay_statement_response.rbi | 18 +- .../hris/pay_statement_response_body.rbi | 62 +- rbi/finch_api/models/hris/payment.rbi | 57 +- rbi/finch_api/models/money.rbi | 11 +- .../payroll/pay_group_list_response.rbi | 68 +- .../payroll/pay_group_retrieve_response.rbi | 28 +- .../models/sandbox/payment_create_params.rbi | 585 ++++++++++-------- sig/finch_api/models/hris/benefit_type.rbs | 42 +- .../pay_statement_item_list_response.rbs | 30 +- sig/finch_api/models/hris/pay_statement.rbs | 218 ++++--- .../models/hris/pay_statement_response.rbs | 20 +- .../hris/pay_statement_response_body.rbs | 28 +- sig/finch_api/models/hris/payment.rbs | 50 +- sig/finch_api/models/money.rbs | 6 +- .../payroll/pay_group_list_response.rbs | 40 +- .../payroll/pay_group_retrieve_response.rbs | 20 +- .../models/sandbox/payment_create_params.rbs | 218 ++++--- .../hris/company/pay_statement_item_test.rb | 6 +- .../resources/hris/pay_statements_test.rb | 6 +- .../finch_api/resources/hris/payments_test.rb | 2 +- .../resources/payroll/pay_groups_test.rb | 6 +- 35 files changed, 1519 insertions(+), 1373 deletions(-) diff --git a/.stats.yml b/.stats.yml index 15160804..c72261be 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 46 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-2450f9bcc309174bb09e7cc75c3d873240626676782a6d0aa7578395adfa80a8.yml -openapi_spec_hash: ce0eebc26042d65a7831455ca7e9c5a8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-5b00a0bc705b1d5bfcb5ea79c7af544766d51ec12ccc4721825664ab397789d8.yml +openapi_spec_hash: 34891659cff31395ba7683a8153b1db5 config_hash: 53778a0b839c4f6ad34fbba051f5e8a6 diff --git a/lib/finch_api/models/hris/benefit_type.rb b/lib/finch_api/models/hris/benefit_type.rb index d0260bee..45873261 100644 --- a/lib/finch_api/models/hris/benefit_type.rb +++ b/lib/finch_api/models/hris/benefit_type.rb @@ -7,25 +7,25 @@ module HRIS module BenefitType extend FinchAPI::Internal::Type::Enum - BENEFIT_TYPE_457 = :"457" BENEFIT_TYPE_401K = :"401k" BENEFIT_TYPE_401K_ROTH = :"401k_roth" BENEFIT_TYPE_401K_LOAN = :"401k_loan" BENEFIT_TYPE_403B = :"403b" BENEFIT_TYPE_403B_ROTH = :"403b_roth" + BENEFIT_TYPE_457 = :"457" BENEFIT_TYPE_457_ROTH = :"457_roth" - COMMUTER = :commuter - CUSTOM_POST_TAX = :custom_post_tax - CUSTOM_PRE_TAX = :custom_pre_tax - FSA_DEPENDENT_CARE = :fsa_dependent_care - FSA_MEDICAL = :fsa_medical - HSA_POST = :hsa_post - HSA_PRE = :hsa_pre - S125_DENTAL = :s125_dental S125_MEDICAL = :s125_medical + S125_DENTAL = :s125_dental S125_VISION = :s125_vision - SIMPLE = :simple + HSA_PRE = :hsa_pre + HSA_POST = :hsa_post + FSA_MEDICAL = :fsa_medical + FSA_DEPENDENT_CARE = :fsa_dependent_care SIMPLE_IRA = :simple_ira + SIMPLE = :simple + COMMUTER = :commuter + CUSTOM_POST_TAX = :custom_post_tax + CUSTOM_PRE_TAX = :custom_pre_tax # @!method self.values # @return [Array] diff --git a/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb b/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb index c8a8b922..18cd7fdf 100644 --- a/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb +++ b/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb @@ -9,22 +9,22 @@ class PayStatementItemListResponse < FinchAPI::Internal::Type::BaseModel # @!attribute attributes # The attributes of the pay statement item. # - # @return [FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes] - required :attributes, -> { FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes } + # @return [FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, nil] + optional :attributes, -> { FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes } # @!attribute category # The category of the pay statement item. # - # @return [Symbol, FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category] - required :category, enum: -> { FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category } + # @return [Symbol, FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category, nil] + optional :category, enum: -> { FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category } # @!attribute name # The name of the pay statement item. # - # @return [String] - required :name, String + # @return [String, nil] + optional :name, String - # @!method initialize(attributes:, category:, name:) + # @!method initialize(attributes: nil, category: nil, name: nil) # @param attributes [FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes] The attributes of the pay statement item. # # @param category [Symbol, FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category] The category of the pay statement item. @@ -33,22 +33,22 @@ class PayStatementItemListResponse < FinchAPI::Internal::Type::BaseModel # @see FinchAPI::Models::HRIS::Company::PayStatementItemListResponse#attributes class Attributes < FinchAPI::Internal::Type::BaseModel + # @!attribute employer + # `true` if the amount is paid by the employers. This field is only available for + # taxes. + # + # @return [Boolean, nil] + optional :employer, FinchAPI::Internal::Type::Boolean, nil?: true + # @!attribute metadata # The metadata of the pay statement item derived by the rules engine if available. # Each attribute will be a key-value pair defined by a rule. # # @return [Hash{Symbol=>Object, nil}, nil] - required :metadata, + optional :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true], nil?: true - # @!attribute employer - # `true` if the amount is paid by the employers. This field is only available for - # taxes. - # - # @return [Boolean, nil] - optional :employer, FinchAPI::Internal::Type::Boolean, nil?: true - # @!attribute pre_tax # `true` if the pay statement item is pre-tax. This field is only available for # employee deductions. @@ -62,17 +62,17 @@ class Attributes < FinchAPI::Internal::Type::BaseModel # @return [String, nil] optional :type, String, nil?: true - # @!method initialize(metadata:, employer: nil, pre_tax: nil, type: nil) + # @!method initialize(employer: nil, metadata: nil, pre_tax: nil, type: nil) # Some parameter documentations has been truncated, see # {FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes} for # more details. # # The attributes of the pay statement item. # - # @param metadata [Hash{Symbol=>Object, nil}, nil] The metadata of the pay statement item derived by the rules engine if available. - # # @param employer [Boolean, nil] `true` if the amount is paid by the employers. This field is only available for # + # @param metadata [Hash{Symbol=>Object, nil}, nil] The metadata of the pay statement item derived by the rules engine if available. + # # @param pre_tax [Boolean, nil] `true` if the pay statement item is pre-tax. This field is only available for em # # @param type [String, nil] The type of the pay statement item. diff --git a/lib/finch_api/models/hris/pay_statement.rb b/lib/finch_api/models/hris/pay_statement.rb index 00f019e0..7d44e315 100644 --- a/lib/finch_api/models/hris/pay_statement.rb +++ b/lib/finch_api/models/hris/pay_statement.rb @@ -8,7 +8,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of earnings objects associated with this pay statement # # @return [Array, nil] - required :earnings, + optional :earnings, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement::Earning, nil?: true] }, nil?: true @@ -16,7 +16,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of deductions objects associated with this pay statement. # # @return [Array, nil] - required :employee_deductions, + optional :employee_deductions, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement::EmployeeDeduction, nil?: true] @@ -26,7 +26,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # @!attribute employer_contributions # # @return [Array, nil] - required :employer_contributions, + optional :employer_contributions, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement::EmployerContribution, nil?: true] @@ -36,30 +36,30 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # @!attribute gross_pay # # @return [FinchAPI::Money, nil] - required :gross_pay, -> { FinchAPI::Money }, nil?: true + optional :gross_pay, -> { FinchAPI::Money }, nil?: true # @!attribute individual_id # A stable Finch `id` (UUID v4) for an individual in the company # - # @return [String] - required :individual_id, String + # @return [String, nil] + optional :individual_id, String # @!attribute net_pay # # @return [FinchAPI::Money, nil] - required :net_pay, -> { FinchAPI::Money }, nil?: true + optional :net_pay, -> { FinchAPI::Money }, nil?: true # @!attribute payment_method # The payment method. # # @return [Symbol, FinchAPI::HRIS::PayStatement::PaymentMethod, nil] - required :payment_method, enum: -> { FinchAPI::HRIS::PayStatement::PaymentMethod }, nil?: true + optional :payment_method, enum: -> { FinchAPI::HRIS::PayStatement::PaymentMethod }, nil?: true # @!attribute taxes # The array of taxes objects associated with this pay statement. # # @return [Array, nil] - required :taxes, + optional :taxes, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement::Tax, nil?: true] }, nil?: true @@ -67,15 +67,15 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The number of hours worked for this pay period # # @return [Float, nil] - required :total_hours, Float, nil?: true + optional :total_hours, Float, nil?: true # @!attribute type # The type of the payment associated with the pay statement. # # @return [Symbol, FinchAPI::HRIS::PayStatement::Type, nil] - required :type, enum: -> { FinchAPI::HRIS::PayStatement::Type }, nil?: true + optional :type, enum: -> { FinchAPI::HRIS::PayStatement::Type }, nil?: true - # @!method initialize(earnings:, employee_deductions:, employer_contributions:, gross_pay:, individual_id:, net_pay:, payment_method:, taxes:, total_hours:, type:) + # @!method initialize(earnings: nil, employee_deductions: nil, employer_contributions: nil, gross_pay: nil, individual_id: nil, net_pay: nil, payment_method: nil, taxes: nil, total_hours: nil, type: nil) # @param earnings [Array, nil] The array of earnings objects associated with this pay statement # # @param employee_deductions [Array, nil] The array of deductions objects associated with this pay statement. @@ -101,44 +101,46 @@ class Earning < FinchAPI::Internal::Type::BaseModel # The earnings amount in cents. # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::HRIS::PayStatement::Earning::Attributes, nil] + optional :attributes, -> { FinchAPI::HRIS::PayStatement::Earning::Attributes }, nil?: true # @!attribute currency # The earnings currency code. # # @return [String, nil] - required :currency, String, nil?: true + optional :currency, String, nil?: true # @!attribute hours # The number of hours associated with this earning. (For salaried employees, this # could be hours per pay period, `0` or `null`, depending on the provider). # # @return [Float, nil] - required :hours, Float, nil?: true + optional :hours, Float, nil?: true # @!attribute name # The exact name of the deduction from the pay statement. # # @return [String, nil] - required :name, String, nil?: true + optional :name, String, nil?: true # @!attribute type # The type of earning. # # @return [Symbol, FinchAPI::HRIS::PayStatement::Earning::Type, nil] - required :type, enum: -> { FinchAPI::HRIS::PayStatement::Earning::Type }, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::HRIS::PayStatement::Earning::Attributes, nil] - optional :attributes, -> { FinchAPI::HRIS::PayStatement::Earning::Attributes }, nil?: true + optional :type, enum: -> { FinchAPI::HRIS::PayStatement::Earning::Type }, nil?: true - # @!method initialize(amount:, currency:, hours:, name:, type:, attributes: nil) + # @!method initialize(amount: nil, attributes: nil, currency: nil, hours: nil, name: nil, type: nil) # Some parameter documentations has been truncated, see # {FinchAPI::HRIS::PayStatement::Earning} for more details. # # @param amount [Integer, nil] The earnings amount in cents. # + # @param attributes [FinchAPI::HRIS::PayStatement::Earning::Attributes, nil] + # # @param currency [String, nil] The earnings currency code. # # @param hours [Float, nil] The number of hours associated with this earning. (For salaried employees, this @@ -146,8 +148,35 @@ class Earning < FinchAPI::Internal::Type::BaseModel # @param name [String, nil] The exact name of the deduction from the pay statement. # # @param type [Symbol, FinchAPI::HRIS::PayStatement::Earning::Type, nil] The type of earning. - # - # @param attributes [FinchAPI::HRIS::PayStatement::Earning::Attributes, nil] + + # @see FinchAPI::HRIS::PayStatement::Earning#attributes + class Attributes < FinchAPI::Internal::Type::BaseModel + # @!attribute metadata + # + # @return [FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata, nil] + optional :metadata, -> { FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata } + + # @!method initialize(metadata: nil) + # @param metadata [FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata] + + # @see FinchAPI::HRIS::PayStatement::Earning::Attributes#metadata + class Metadata < FinchAPI::Internal::Type::BaseModel + # @!attribute metadata + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + # + # @return [Hash{Symbol=>Object, nil}, nil] + optional :metadata, + FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] + + # @!method initialize(metadata: nil) + # Some parameter documentations has been truncated, see + # {FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata} for more details. + # + # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p + end + end # The type of earning. # @@ -172,35 +201,6 @@ module Type # @!method self.values # @return [Array] end - - # @see FinchAPI::HRIS::PayStatement::Earning#attributes - class Attributes < FinchAPI::Internal::Type::BaseModel - # @!attribute metadata - # - # @return [FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata] - required :metadata, -> { FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata } - - # @!method initialize(metadata:) - # @param metadata [FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata] - - # @see FinchAPI::HRIS::PayStatement::Earning::Attributes#metadata - class Metadata < FinchAPI::Internal::Type::BaseModel - # @!attribute metadata - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - # - # @return [Hash{Symbol=>Object, nil}] - required :metadata, - FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - - # @!method initialize(metadata:) - # Some parameter documentations has been truncated, see - # {FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata} for more details. - # - # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p - end - end end class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel @@ -208,40 +208,42 @@ class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel # The deduction amount in cents. # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, nil] + optional :attributes, -> { FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes }, nil?: true # @!attribute currency # The deduction currency. # # @return [String, nil] - required :currency, String, nil?: true + optional :currency, String, nil?: true # @!attribute name # The deduction name from the pay statement. # # @return [String, nil] - required :name, String, nil?: true + optional :name, String, nil?: true # @!attribute pre_tax # Boolean indicating if the deduction is pre-tax. # # @return [Boolean, nil] - required :pre_tax, FinchAPI::Internal::Type::Boolean, nil?: true + optional :pre_tax, FinchAPI::Internal::Type::Boolean, nil?: true # @!attribute type # Type of benefit. # # @return [Symbol, FinchAPI::HRIS::BenefitType, nil] - required :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, nil] - optional :attributes, -> { FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes }, nil?: true + optional :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - # @!method initialize(amount:, currency:, name:, pre_tax:, type:, attributes: nil) + # @!method initialize(amount: nil, attributes: nil, currency: nil, name: nil, pre_tax: nil, type: nil) # @param amount [Integer, nil] The deduction amount in cents. # + # @param attributes [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, nil] + # # @param currency [String, nil] The deduction currency. # # @param name [String, nil] The deduction name from the pay statement. @@ -249,17 +251,15 @@ class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel # @param pre_tax [Boolean, nil] Boolean indicating if the deduction is pre-tax. # # @param type [Symbol, FinchAPI::HRIS::BenefitType, nil] Type of benefit. - # - # @param attributes [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes, nil] # @see FinchAPI::HRIS::PayStatement::EmployeeDeduction#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata] - required :metadata, -> { FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata } + # @return [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata, nil] + optional :metadata, -> { FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata } - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # @param metadata [FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata] # @see FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes#metadata @@ -269,11 +269,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}] - required :metadata, + # @return [Hash{Symbol=>Object, nil}, nil] + optional :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # Some parameter documentations has been truncated, see # {FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata} for more # details. @@ -288,57 +288,57 @@ class EmployerContribution < FinchAPI::Internal::Type::BaseModel # The contribution amount in cents. # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, nil] + optional :attributes, + -> { + FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes + }, + nil?: true # @!attribute currency # The contribution currency. # # @return [String, nil] - required :currency, String, nil?: true + optional :currency, String, nil?: true # @!attribute name # The contribution name from the pay statement. # # @return [String, nil] - required :name, String, nil?: true + optional :name, String, nil?: true # @!attribute type # Type of benefit. # # @return [Symbol, FinchAPI::HRIS::BenefitType, nil] - required :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true + optional :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - # @!attribute attributes - # - # @return [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, nil] - optional :attributes, - -> { - FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes - }, - nil?: true - - # @!method initialize(amount:, currency:, name:, type:, attributes: nil) + # @!method initialize(amount: nil, attributes: nil, currency: nil, name: nil, type: nil) # @param amount [Integer, nil] The contribution amount in cents. # + # @param attributes [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, nil] + # # @param currency [String, nil] The contribution currency. # # @param name [String, nil] The contribution name from the pay statement. # # @param type [Symbol, FinchAPI::HRIS::BenefitType, nil] Type of benefit. - # - # @param attributes [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes, nil] # @see FinchAPI::HRIS::PayStatement::EmployerContribution#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata] - required :metadata, + # @return [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata, nil] + optional :metadata, -> { FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata } - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # @param metadata [FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata] # @see FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes#metadata @@ -348,11 +348,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}] - required :metadata, + # @return [Hash{Symbol=>Object, nil}, nil] + optional :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # Some parameter documentations has been truncated, see # {FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata} for # more details. @@ -381,40 +381,42 @@ class Tax < FinchAPI::Internal::Type::BaseModel # The tax amount in cents. # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::HRIS::PayStatement::Tax::Attributes, nil] + optional :attributes, -> { FinchAPI::HRIS::PayStatement::Tax::Attributes }, nil?: true # @!attribute currency # The currency code. # # @return [String, nil] - required :currency, String, nil?: true + optional :currency, String, nil?: true # @!attribute employer # `true` if the amount is paid by the employers. # # @return [Boolean, nil] - required :employer, FinchAPI::Internal::Type::Boolean, nil?: true + optional :employer, FinchAPI::Internal::Type::Boolean, nil?: true # @!attribute name # The exact name of tax from the pay statement. # # @return [String, nil] - required :name, String, nil?: true + optional :name, String, nil?: true # @!attribute type # The type of taxes. # # @return [Symbol, FinchAPI::HRIS::PayStatement::Tax::Type, nil] - required :type, enum: -> { FinchAPI::HRIS::PayStatement::Tax::Type }, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::HRIS::PayStatement::Tax::Attributes, nil] - optional :attributes, -> { FinchAPI::HRIS::PayStatement::Tax::Attributes }, nil?: true + optional :type, enum: -> { FinchAPI::HRIS::PayStatement::Tax::Type }, nil?: true - # @!method initialize(amount:, currency:, employer:, name:, type:, attributes: nil) + # @!method initialize(amount: nil, attributes: nil, currency: nil, employer: nil, name: nil, type: nil) # @param amount [Integer, nil] The tax amount in cents. # + # @param attributes [FinchAPI::HRIS::PayStatement::Tax::Attributes, nil] + # # @param currency [String, nil] The currency code. # # @param employer [Boolean, nil] `true` if the amount is paid by the employers. @@ -422,32 +424,15 @@ class Tax < FinchAPI::Internal::Type::BaseModel # @param name [String, nil] The exact name of tax from the pay statement. # # @param type [Symbol, FinchAPI::HRIS::PayStatement::Tax::Type, nil] The type of taxes. - # - # @param attributes [FinchAPI::HRIS::PayStatement::Tax::Attributes, nil] - - # The type of taxes. - # - # @see FinchAPI::HRIS::PayStatement::Tax#type - module Type - extend FinchAPI::Internal::Type::Enum - - STATE = :state - FEDERAL = :federal - LOCAL = :local - FICA = :fica - - # @!method self.values - # @return [Array] - end # @see FinchAPI::HRIS::PayStatement::Tax#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata] - required :metadata, -> { FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata } + # @return [FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata, nil] + optional :metadata, -> { FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata } - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # @param metadata [FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata] # @see FinchAPI::HRIS::PayStatement::Tax::Attributes#metadata @@ -457,17 +442,32 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}] - required :metadata, + # @return [Hash{Symbol=>Object, nil}, nil] + optional :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # Some parameter documentations has been truncated, see # {FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata} for more details. # # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p end end + + # The type of taxes. + # + # @see FinchAPI::HRIS::PayStatement::Tax#type + module Type + extend FinchAPI::Internal::Type::Enum + + STATE = :state + FEDERAL = :federal + LOCAL = :local + FICA = :fica + + # @!method self.values + # @return [Array] + end end # The type of the payment associated with the pay statement. diff --git a/lib/finch_api/models/hris/pay_statement_response.rb b/lib/finch_api/models/hris/pay_statement_response.rb index de9c07e2..7824a0dd 100644 --- a/lib/finch_api/models/hris/pay_statement_response.rb +++ b/lib/finch_api/models/hris/pay_statement_response.rb @@ -7,20 +7,20 @@ module HRIS class PayStatementResponse < FinchAPI::Internal::Type::BaseModel # @!attribute body # - # @return [FinchAPI::HRIS::PayStatementResponseBody] - required :body, -> { FinchAPI::HRIS::PayStatementResponseBody } + # @return [FinchAPI::HRIS::PayStatementResponseBody, nil] + optional :body, -> { FinchAPI::HRIS::PayStatementResponseBody } # @!attribute code # - # @return [Integer] - required :code, Integer + # @return [Integer, nil] + optional :code, Integer # @!attribute payment_id # - # @return [String] - required :payment_id, String + # @return [String, nil] + optional :payment_id, String - # @!method initialize(body:, code:, payment_id:) + # @!method initialize(body: nil, code: nil, payment_id: nil) # @param body [FinchAPI::HRIS::PayStatementResponseBody] # @param code [Integer] # @param payment_id [String] diff --git a/lib/finch_api/models/hris/pay_statement_response_body.rb b/lib/finch_api/models/hris/pay_statement_response_body.rb index 87abd1b2..a4048715 100644 --- a/lib/finch_api/models/hris/pay_statement_response_body.rb +++ b/lib/finch_api/models/hris/pay_statement_response_body.rb @@ -6,37 +6,19 @@ module HRIS class PayStatementResponseBody < FinchAPI::Internal::Type::BaseModel # @!attribute paging # - # @return [FinchAPI::HRIS::PayStatementResponseBody::Paging] - required :paging, -> { FinchAPI::HRIS::PayStatementResponseBody::Paging } + # @return [FinchAPI::Paging, nil] + optional :paging, -> { FinchAPI::Paging } # @!attribute pay_statements + # The array of pay statements for the current payment. # - # @return [Array] - required :pay_statements, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement] } + # @return [Array, nil] + optional :pay_statements, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::HRIS::PayStatement] } - # @!method initialize(paging:, pay_statements:) - # @param paging [FinchAPI::HRIS::PayStatementResponseBody::Paging] - # @param pay_statements [Array] - - # @see FinchAPI::HRIS::PayStatementResponseBody#paging - class Paging < FinchAPI::Internal::Type::BaseModel - # @!attribute offset - # The current start index of the returned list of elements - # - # @return [Integer] - required :offset, Integer - - # @!attribute count - # The total number of elements for the entire query (not just the given page) - # - # @return [Integer, nil] - optional :count, Integer - - # @!method initialize(offset:, count: nil) - # @param offset [Integer] The current start index of the returned list of elements - # - # @param count [Integer] The total number of elements for the entire query (not just the given page) - end + # @!method initialize(paging: nil, pay_statements: nil) + # @param paging [FinchAPI::Paging] + # + # @param pay_statements [Array] The array of pay statements for the current payment. end end end diff --git a/lib/finch_api/models/hris/payment.rb b/lib/finch_api/models/hris/payment.rb index 2f67b485..e95d8923 100644 --- a/lib/finch_api/models/hris/payment.rb +++ b/lib/finch_api/models/hris/payment.rb @@ -8,55 +8,55 @@ class Payment < FinchAPI::Internal::Type::BaseModel # @!attribute id # The unique id for the payment. # - # @return [String] - required :id, String + # @return [String, nil] + optional :id, String # @!attribute company_debit # # @return [FinchAPI::Money, nil] - required :company_debit, -> { FinchAPI::Money }, nil?: true + optional :company_debit, -> { FinchAPI::Money }, nil?: true # @!attribute debit_date # # @return [String, nil] - required :debit_date, String, nil?: true + optional :debit_date, String, nil?: true # @!attribute employee_taxes # # @return [FinchAPI::Money, nil] - required :employee_taxes, -> { FinchAPI::Money }, nil?: true + optional :employee_taxes, -> { FinchAPI::Money }, nil?: true # @!attribute employer_taxes # # @return [FinchAPI::Money, nil] - required :employer_taxes, -> { FinchAPI::Money }, nil?: true + optional :employer_taxes, -> { FinchAPI::Money }, nil?: true # @!attribute gross_pay # # @return [FinchAPI::Money, nil] - required :gross_pay, -> { FinchAPI::Money }, nil?: true + optional :gross_pay, -> { FinchAPI::Money }, nil?: true # @!attribute individual_ids # Array of every individual on this payment. # # @return [Array, nil] - required :individual_ids, FinchAPI::Internal::Type::ArrayOf[String], nil?: true + optional :individual_ids, FinchAPI::Internal::Type::ArrayOf[String], nil?: true # @!attribute net_pay # # @return [FinchAPI::Money, nil] - required :net_pay, -> { FinchAPI::Money }, nil?: true + optional :net_pay, -> { FinchAPI::Money }, nil?: true # @!attribute pay_date # # @return [String, nil] - required :pay_date, String, nil?: true + optional :pay_date, String, nil?: true # @!attribute pay_frequencies # List of pay frequencies associated with this payment. # # @return [Array, nil] - required :pay_frequencies, + optional :pay_frequencies, -> { FinchAPI::Internal::Type::ArrayOf[enum: FinchAPI::HRIS::Payment::PayFrequency] }, nil?: true @@ -64,15 +64,15 @@ class Payment < FinchAPI::Internal::Type::BaseModel # Array of the Finch id (uuidv4) of every pay group associated with this payment. # # @return [Array, nil] - required :pay_group_ids, FinchAPI::Internal::Type::ArrayOf[String], nil?: true + optional :pay_group_ids, FinchAPI::Internal::Type::ArrayOf[String], nil?: true # @!attribute pay_period # The pay period object. # # @return [FinchAPI::HRIS::Payment::PayPeriod, nil] - required :pay_period, -> { FinchAPI::HRIS::Payment::PayPeriod }, nil?: true + optional :pay_period, -> { FinchAPI::HRIS::Payment::PayPeriod }, nil?: true - # @!method initialize(id:, company_debit:, debit_date:, employee_taxes:, employer_taxes:, gross_pay:, individual_ids:, net_pay:, pay_date:, pay_frequencies:, pay_group_ids:, pay_period:) + # @!method initialize(id: nil, company_debit: nil, debit_date: nil, employee_taxes: nil, employer_taxes: nil, gross_pay: nil, individual_ids: nil, net_pay: nil, pay_date: nil, pay_frequencies: nil, pay_group_ids: nil, pay_period: nil) # @param id [String] The unique id for the payment. # # @param company_debit [FinchAPI::Money, nil] @@ -101,14 +101,14 @@ module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY = :annually - BI_WEEKLY = :bi_weekly - DAILY = :daily - MONTHLY = :monthly - OTHER = :other - QUARTERLY = :quarterly SEMI_ANNUALLY = :semi_annually + QUARTERLY = :quarterly + MONTHLY = :monthly SEMI_MONTHLY = :semi_monthly + BI_WEEKLY = :bi_weekly WEEKLY = :weekly + DAILY = :daily + OTHER = :other # @!method self.values # @return [Array] @@ -119,14 +119,14 @@ class PayPeriod < FinchAPI::Internal::Type::BaseModel # @!attribute end_date # # @return [String, nil] - required :end_date, String, nil?: true + optional :end_date, String, nil?: true # @!attribute start_date # # @return [String, nil] - required :start_date, String, nil?: true + optional :start_date, String, nil?: true - # @!method initialize(end_date:, start_date:) + # @!method initialize(end_date: nil, start_date: nil) # The pay period object. # # @param end_date [String, nil] diff --git a/lib/finch_api/models/money.rb b/lib/finch_api/models/money.rb index e3ccc89d..153d11a9 100644 --- a/lib/finch_api/models/money.rb +++ b/lib/finch_api/models/money.rb @@ -7,14 +7,14 @@ class Money < FinchAPI::Internal::Type::BaseModel # Amount for money object (in cents) # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true # @!attribute currency # - # @return [String] - required :currency, String + # @return [String, nil] + optional :currency, String - # @!method initialize(amount:, currency:) + # @!method initialize(amount: nil, currency: nil) # @param amount [Integer, nil] Amount for money object (in cents) # # @param currency [String] diff --git a/lib/finch_api/models/payroll/pay_group_list_response.rb b/lib/finch_api/models/payroll/pay_group_list_response.rb index fb57ba88..1d24b6ba 100644 --- a/lib/finch_api/models/payroll/pay_group_list_response.rb +++ b/lib/finch_api/models/payroll/pay_group_list_response.rb @@ -8,23 +8,23 @@ class PayGroupListResponse < FinchAPI::Internal::Type::BaseModel # @!attribute id # Finch id (uuidv4) for the pay group # - # @return [String] - required :id, String + # @return [String, nil] + optional :id, String # @!attribute name # Name of the pay group # - # @return [String] - required :name, String + # @return [String, nil] + optional :name, String # @!attribute pay_frequencies # List of pay frequencies associated with this pay group # - # @return [Array] - required :pay_frequencies, + # @return [Array, nil] + optional :pay_frequencies, -> { FinchAPI::Internal::Type::ArrayOf[enum: FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency] } - # @!method initialize(id:, name:, pay_frequencies:) + # @!method initialize(id: nil, name: nil, pay_frequencies: nil) # @param id [String] Finch id (uuidv4) for the pay group # # @param name [String] Name of the pay group @@ -35,14 +35,14 @@ module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY = :annually - BI_WEEKLY = :bi_weekly - DAILY = :daily - MONTHLY = :monthly - OTHER = :other - QUARTERLY = :quarterly SEMI_ANNUALLY = :semi_annually + QUARTERLY = :quarterly + MONTHLY = :monthly SEMI_MONTHLY = :semi_monthly + BI_WEEKLY = :bi_weekly WEEKLY = :weekly + DAILY = :daily + OTHER = :other # @!method self.values # @return [Array] diff --git a/lib/finch_api/models/payroll/pay_group_retrieve_response.rb b/lib/finch_api/models/payroll/pay_group_retrieve_response.rb index f48a6579..d5c9e924 100644 --- a/lib/finch_api/models/payroll/pay_group_retrieve_response.rb +++ b/lib/finch_api/models/payroll/pay_group_retrieve_response.rb @@ -42,14 +42,14 @@ module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY = :annually - BI_WEEKLY = :bi_weekly - DAILY = :daily - MONTHLY = :monthly - OTHER = :other - QUARTERLY = :quarterly SEMI_ANNUALLY = :semi_annually + QUARTERLY = :quarterly + MONTHLY = :monthly SEMI_MONTHLY = :semi_monthly + BI_WEEKLY = :bi_weekly WEEKLY = :weekly + DAILY = :daily + OTHER = :other # @!method self.values # @return [Array] diff --git a/lib/finch_api/models/sandbox/payment_create_params.rb b/lib/finch_api/models/sandbox/payment_create_params.rb index 2b47cc97..b9e59e09 100644 --- a/lib/finch_api/models/sandbox/payment_create_params.rb +++ b/lib/finch_api/models/sandbox/payment_create_params.rb @@ -37,7 +37,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of earnings objects associated with this pay statement # # @return [Array, nil] - required :earnings, + optional :earnings, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning, nil?: true] @@ -48,7 +48,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of deductions objects associated with this pay statement. # # @return [Array, nil] - required :employee_deductions, + optional :employee_deductions, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction, nil?: true] @@ -58,7 +58,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # @!attribute employer_contributions # # @return [Array, nil] - required :employer_contributions, + optional :employer_contributions, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution, nil?: true] @@ -68,24 +68,24 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # @!attribute gross_pay # # @return [FinchAPI::Money, nil] - required :gross_pay, -> { FinchAPI::Money }, nil?: true + optional :gross_pay, -> { FinchAPI::Money }, nil?: true # @!attribute individual_id # A stable Finch `id` (UUID v4) for an individual in the company # - # @return [String] - required :individual_id, String + # @return [String, nil] + optional :individual_id, String # @!attribute net_pay # # @return [FinchAPI::Money, nil] - required :net_pay, -> { FinchAPI::Money }, nil?: true + optional :net_pay, -> { FinchAPI::Money }, nil?: true # @!attribute payment_method # The payment method. # # @return [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::PaymentMethod, nil] - required :payment_method, + optional :payment_method, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::PaymentMethod }, nil?: true @@ -93,7 +93,7 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The array of taxes objects associated with this pay statement. # # @return [Array, nil] - required :taxes, + optional :taxes, -> { FinchAPI::Internal::Type::ArrayOf[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax, nil?: true] @@ -104,15 +104,15 @@ class PayStatement < FinchAPI::Internal::Type::BaseModel # The number of hours worked for this pay period # # @return [Float, nil] - required :total_hours, Float, nil?: true + optional :total_hours, Float, nil?: true # @!attribute type # The type of the payment associated with the pay statement. # # @return [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Type, nil] - required :type, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Type }, nil?: true + optional :type, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Type }, nil?: true - # @!method initialize(earnings:, employee_deductions:, employer_contributions:, gross_pay:, individual_id:, net_pay:, payment_method:, taxes:, total_hours:, type:) + # @!method initialize(earnings: nil, employee_deductions: nil, employer_contributions: nil, gross_pay: nil, individual_id: nil, net_pay: nil, payment_method: nil, taxes: nil, total_hours: nil, type: nil) # @param earnings [Array, nil] The array of earnings objects associated with this pay statement # # @param employee_deductions [Array, nil] The array of deductions objects associated with this pay statement. @@ -138,49 +138,51 @@ class Earning < FinchAPI::Internal::Type::BaseModel # The earnings amount in cents. # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, nil] + optional :attributes, + -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes }, + nil?: true # @!attribute currency # The earnings currency code. # # @return [String, nil] - required :currency, String, nil?: true + optional :currency, String, nil?: true # @!attribute hours # The number of hours associated with this earning. (For salaried employees, this # could be hours per pay period, `0` or `null`, depending on the provider). # # @return [Float, nil] - required :hours, Float, nil?: true + optional :hours, Float, nil?: true # @!attribute name # The exact name of the deduction from the pay statement. # # @return [String, nil] - required :name, String, nil?: true + optional :name, String, nil?: true # @!attribute type # The type of earning. # # @return [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type, nil] - required :type, + optional :type, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type }, nil?: true - # @!attribute attributes - # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, nil] - optional :attributes, - -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes }, - nil?: true - - # @!method initialize(amount:, currency:, hours:, name:, type:, attributes: nil) + # @!method initialize(amount: nil, attributes: nil, currency: nil, hours: nil, name: nil, type: nil) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning} for more # details. # # @param amount [Integer, nil] The earnings amount in cents. # + # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, nil] + # # @param currency [String, nil] The earnings currency code. # # @param hours [Float, nil] The number of hours associated with this earning. (For salaried employees, this @@ -188,44 +190,18 @@ class Earning < FinchAPI::Internal::Type::BaseModel # @param name [String, nil] The exact name of the deduction from the pay statement. # # @param type [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type, nil] The type of earning. - # - # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, nil] - - # The type of earning. - # - # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning#type - module Type - extend FinchAPI::Internal::Type::Enum - - SALARY = :salary - WAGE = :wage - REIMBURSEMENT = :reimbursement - OVERTIME = :overtime - SEVERANCE = :severance - DOUBLE_OVERTIME = :double_overtime - PTO = :pto - SICK = :sick - BONUS = :bonus - COMMISSION = :commission - TIPS = :tips - TYPE_1099 = :"1099" - OTHER = :other - - # @!method self.values - # @return [Array] - end # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata] - required :metadata, + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata, nil] + optional :metadata, -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata } - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # @param metadata [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes#metadata @@ -235,11 +211,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}] - required :metadata, + # @return [Hash{Symbol=>Object, nil}, nil] + optional :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata} # for more details. @@ -247,6 +223,30 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p end end + + # The type of earning. + # + # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning#type + module Type + extend FinchAPI::Internal::Type::Enum + + SALARY = :salary + WAGE = :wage + REIMBURSEMENT = :reimbursement + OVERTIME = :overtime + SEVERANCE = :severance + DOUBLE_OVERTIME = :double_overtime + PTO = :pto + SICK = :sick + BONUS = :bonus + COMMISSION = :commission + TIPS = :tips + TYPE_1099 = :"1099" + OTHER = :other + + # @!method self.values + # @return [Array] + end end class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel @@ -254,44 +254,46 @@ class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel # The deduction amount in cents. # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, nil] + optional :attributes, + -> { + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes + }, + nil?: true # @!attribute currency # The deduction currency. # # @return [String, nil] - required :currency, String, nil?: true + optional :currency, String, nil?: true # @!attribute name # The deduction name from the pay statement. # # @return [String, nil] - required :name, String, nil?: true + optional :name, String, nil?: true # @!attribute pre_tax # Boolean indicating if the deduction is pre-tax. # # @return [Boolean, nil] - required :pre_tax, FinchAPI::Internal::Type::Boolean, nil?: true + optional :pre_tax, FinchAPI::Internal::Type::Boolean, nil?: true # @!attribute type # Type of benefit. # # @return [Symbol, FinchAPI::HRIS::BenefitType, nil] - required :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, nil] - optional :attributes, - -> { - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes - }, - nil?: true + optional :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - # @!method initialize(amount:, currency:, name:, pre_tax:, type:, attributes: nil) + # @!method initialize(amount: nil, attributes: nil, currency: nil, name: nil, pre_tax: nil, type: nil) # @param amount [Integer, nil] The deduction amount in cents. # + # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, nil] + # # @param currency [String, nil] The deduction currency. # # @param name [String, nil] The deduction name from the pay statement. @@ -299,20 +301,18 @@ class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel # @param pre_tax [Boolean, nil] Boolean indicating if the deduction is pre-tax. # # @param type [Symbol, FinchAPI::HRIS::BenefitType, nil] Type of benefit. - # - # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes, nil] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata] - required :metadata, + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata, nil] + optional :metadata, -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata } - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # @param metadata [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes#metadata @@ -322,11 +322,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}] - required :metadata, + # @return [Hash{Symbol=>Object, nil}, nil] + optional :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata} # for more details. @@ -341,57 +341,57 @@ class EmployerContribution < FinchAPI::Internal::Type::BaseModel # The contribution amount in cents. # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, nil] + optional :attributes, + -> { + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes + }, + nil?: true # @!attribute currency # The contribution currency. # # @return [String, nil] - required :currency, String, nil?: true + optional :currency, String, nil?: true # @!attribute name # The contribution name from the pay statement. # # @return [String, nil] - required :name, String, nil?: true + optional :name, String, nil?: true # @!attribute type # Type of benefit. # # @return [Symbol, FinchAPI::HRIS::BenefitType, nil] - required :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - - # @!attribute attributes - # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, nil] - optional :attributes, - -> { - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes - }, - nil?: true + optional :type, enum: -> { FinchAPI::HRIS::BenefitType }, nil?: true - # @!method initialize(amount:, currency:, name:, type:, attributes: nil) + # @!method initialize(amount: nil, attributes: nil, currency: nil, name: nil, type: nil) # @param amount [Integer, nil] The contribution amount in cents. # + # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, nil] + # # @param currency [String, nil] The contribution currency. # # @param name [String, nil] The contribution name from the pay statement. # # @param type [Symbol, FinchAPI::HRIS::BenefitType, nil] Type of benefit. - # - # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes, nil] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata] - required :metadata, + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata, nil] + optional :metadata, -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata } - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # @param metadata [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes#metadata @@ -401,11 +401,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}] - required :metadata, + # @return [Hash{Symbol=>Object, nil}, nil] + optional :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata} # for more details. @@ -434,46 +434,48 @@ class Tax < FinchAPI::Internal::Type::BaseModel # The tax amount in cents. # # @return [Integer, nil] - required :amount, Integer, nil?: true + optional :amount, Integer, nil?: true + + # @!attribute attributes + # + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, nil] + optional :attributes, + -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes }, + nil?: true # @!attribute currency # The currency code. # # @return [String, nil] - required :currency, String, nil?: true + optional :currency, String, nil?: true # @!attribute employer # `true` if the amount is paid by the employers. # # @return [Boolean, nil] - required :employer, FinchAPI::Internal::Type::Boolean, nil?: true + optional :employer, FinchAPI::Internal::Type::Boolean, nil?: true # @!attribute name # The exact name of tax from the pay statement. # # @return [String, nil] - required :name, String, nil?: true + optional :name, String, nil?: true # @!attribute type # The type of taxes. # # @return [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type, nil] - required :type, + optional :type, enum: -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type }, nil?: true - # @!attribute attributes - # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, nil] - optional :attributes, - -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes }, - nil?: true - - # @!method initialize(amount:, currency:, employer:, name:, type:, attributes: nil) + # @!method initialize(amount: nil, attributes: nil, currency: nil, employer: nil, name: nil, type: nil) # @param amount [Integer, nil] The tax amount in cents. # + # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, nil] + # # @param currency [String, nil] The currency code. # # @param employer [Boolean, nil] `true` if the amount is paid by the employers. @@ -481,35 +483,18 @@ class Tax < FinchAPI::Internal::Type::BaseModel # @param name [String, nil] The exact name of tax from the pay statement. # # @param type [Symbol, FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type, nil] The type of taxes. - # - # @param attributes [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes, nil] - - # The type of taxes. - # - # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax#type - module Type - extend FinchAPI::Internal::Type::Enum - - STATE = :state - FEDERAL = :federal - LOCAL = :local - FICA = :fica - - # @!method self.values - # @return [Array] - end # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax#attributes class Attributes < FinchAPI::Internal::Type::BaseModel # @!attribute metadata # - # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata] - required :metadata, + # @return [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata, nil] + optional :metadata, -> { FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata } - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # @param metadata [FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata] # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes#metadata @@ -519,11 +504,11 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). # - # @return [Hash{Symbol=>Object, nil}] - required :metadata, + # @return [Hash{Symbol=>Object, nil}, nil] + optional :metadata, FinchAPI::Internal::Type::HashOf[FinchAPI::Internal::Type::Unknown, nil?: true] - # @!method initialize(metadata:) + # @!method initialize(metadata: nil) # Some parameter documentations has been truncated, see # {FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata} # for more details. @@ -531,6 +516,21 @@ class Metadata < FinchAPI::Internal::Type::BaseModel # @param metadata [Hash{Symbol=>Object, nil}] The metadata to be attached to the entity by existing rules. It is a key-value p end end + + # The type of taxes. + # + # @see FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax#type + module Type + extend FinchAPI::Internal::Type::Enum + + STATE = :state + FEDERAL = :federal + LOCAL = :local + FICA = :fica + + # @!method self.values + # @return [Array] + end end # The type of the payment associated with the pay statement. diff --git a/rbi/finch_api/models/hris/benefit_type.rbi b/rbi/finch_api/models/hris/benefit_type.rbi index 9a0bbcd3..01e74cf6 100644 --- a/rbi/finch_api/models/hris/benefit_type.rbi +++ b/rbi/finch_api/models/hris/benefit_type.rbi @@ -11,8 +11,6 @@ module FinchAPI T.type_alias { T.all(Symbol, FinchAPI::HRIS::BenefitType) } OrSymbol = T.type_alias { T.any(Symbol, String) } - BENEFIT_TYPE_457 = - T.let(:"457", FinchAPI::HRIS::BenefitType::TaggedSymbol) BENEFIT_TYPE_401K = T.let(:"401k", FinchAPI::HRIS::BenefitType::TaggedSymbol) BENEFIT_TYPE_401K_ROTH = @@ -23,28 +21,30 @@ module FinchAPI T.let(:"403b", FinchAPI::HRIS::BenefitType::TaggedSymbol) BENEFIT_TYPE_403B_ROTH = T.let(:"403b_roth", FinchAPI::HRIS::BenefitType::TaggedSymbol) + BENEFIT_TYPE_457 = + T.let(:"457", FinchAPI::HRIS::BenefitType::TaggedSymbol) BENEFIT_TYPE_457_ROTH = T.let(:"457_roth", FinchAPI::HRIS::BenefitType::TaggedSymbol) - COMMUTER = T.let(:commuter, FinchAPI::HRIS::BenefitType::TaggedSymbol) - CUSTOM_POST_TAX = - T.let(:custom_post_tax, FinchAPI::HRIS::BenefitType::TaggedSymbol) - CUSTOM_PRE_TAX = - T.let(:custom_pre_tax, FinchAPI::HRIS::BenefitType::TaggedSymbol) - FSA_DEPENDENT_CARE = - T.let(:fsa_dependent_care, FinchAPI::HRIS::BenefitType::TaggedSymbol) - FSA_MEDICAL = - T.let(:fsa_medical, FinchAPI::HRIS::BenefitType::TaggedSymbol) - HSA_POST = T.let(:hsa_post, FinchAPI::HRIS::BenefitType::TaggedSymbol) - HSA_PRE = T.let(:hsa_pre, FinchAPI::HRIS::BenefitType::TaggedSymbol) - S125_DENTAL = - T.let(:s125_dental, FinchAPI::HRIS::BenefitType::TaggedSymbol) S125_MEDICAL = T.let(:s125_medical, FinchAPI::HRIS::BenefitType::TaggedSymbol) + S125_DENTAL = + T.let(:s125_dental, FinchAPI::HRIS::BenefitType::TaggedSymbol) S125_VISION = T.let(:s125_vision, FinchAPI::HRIS::BenefitType::TaggedSymbol) - SIMPLE = T.let(:simple, FinchAPI::HRIS::BenefitType::TaggedSymbol) + HSA_PRE = T.let(:hsa_pre, FinchAPI::HRIS::BenefitType::TaggedSymbol) + HSA_POST = T.let(:hsa_post, FinchAPI::HRIS::BenefitType::TaggedSymbol) + FSA_MEDICAL = + T.let(:fsa_medical, FinchAPI::HRIS::BenefitType::TaggedSymbol) + FSA_DEPENDENT_CARE = + T.let(:fsa_dependent_care, FinchAPI::HRIS::BenefitType::TaggedSymbol) SIMPLE_IRA = T.let(:simple_ira, FinchAPI::HRIS::BenefitType::TaggedSymbol) + SIMPLE = T.let(:simple, FinchAPI::HRIS::BenefitType::TaggedSymbol) + COMMUTER = T.let(:commuter, FinchAPI::HRIS::BenefitType::TaggedSymbol) + CUSTOM_POST_TAX = + T.let(:custom_post_tax, FinchAPI::HRIS::BenefitType::TaggedSymbol) + CUSTOM_PRE_TAX = + T.let(:custom_pre_tax, FinchAPI::HRIS::BenefitType::TaggedSymbol) sig do override.returns(T::Array[FinchAPI::HRIS::BenefitType::TaggedSymbol]) diff --git a/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi b/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi index 45b6c134..d50d4a14 100644 --- a/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi +++ b/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi @@ -16,7 +16,9 @@ module FinchAPI # The attributes of the pay statement item. sig do returns( - FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes + T.nilable( + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes + ) ) end attr_reader :attributes @@ -32,14 +34,27 @@ module FinchAPI # The category of the pay statement item. sig do returns( - FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category::TaggedSymbol + T.nilable( + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category::TaggedSymbol + ) ) end - attr_accessor :category + attr_reader :category + + sig do + params( + category: + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category::OrSymbol + ).void + end + attr_writer :category # The name of the pay statement item. - sig { returns(String) } - attr_accessor :name + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name sig do params( @@ -52,11 +67,11 @@ module FinchAPI end def self.new( # The attributes of the pay statement item. - attributes:, + attributes: nil, # The category of the pay statement item. - category:, + category: nil, # The name of the pay statement item. - name: + name: nil ) end @@ -83,16 +98,16 @@ module FinchAPI ) end - # The metadata of the pay statement item derived by the rules engine if available. - # Each attribute will be a key-value pair defined by a rule. - sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } - attr_accessor :metadata - # `true` if the amount is paid by the employers. This field is only available for # taxes. sig { returns(T.nilable(T::Boolean)) } attr_accessor :employer + # The metadata of the pay statement item derived by the rules engine if available. + # Each attribute will be a key-value pair defined by a rule. + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } + attr_accessor :metadata + # `true` if the pay statement item is pre-tax. This field is only available for # employee deductions. sig { returns(T.nilable(T::Boolean)) } @@ -105,19 +120,19 @@ module FinchAPI # The attributes of the pay statement item. sig do params( - metadata: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]), employer: T.nilable(T::Boolean), + metadata: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]), pre_tax: T.nilable(T::Boolean), type: T.nilable(String) ).returns(T.attached_class) end def self.new( - # The metadata of the pay statement item derived by the rules engine if available. - # Each attribute will be a key-value pair defined by a rule. - metadata:, # `true` if the amount is paid by the employers. This field is only available for # taxes. employer: nil, + # The metadata of the pay statement item derived by the rules engine if available. + # Each attribute will be a key-value pair defined by a rule. + metadata: nil, # `true` if the pay statement item is pre-tax. This field is only available for # employee deductions. pre_tax: nil, @@ -129,8 +144,8 @@ module FinchAPI sig do override.returns( { - metadata: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]), employer: T.nilable(T::Boolean), + metadata: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]), pre_tax: T.nilable(T::Boolean), type: T.nilable(String) } diff --git a/rbi/finch_api/models/hris/pay_statement.rbi b/rbi/finch_api/models/hris/pay_statement.rbi index 64ea5c4d..be2cf9c7 100644 --- a/rbi/finch_api/models/hris/pay_statement.rbi +++ b/rbi/finch_api/models/hris/pay_statement.rbi @@ -49,8 +49,11 @@ module FinchAPI attr_writer :gross_pay # A stable Finch `id` (UUID v4) for an individual in the company - sig { returns(String) } - attr_accessor :individual_id + sig { returns(T.nilable(String)) } + attr_reader :individual_id + + sig { params(individual_id: String).void } + attr_writer :individual_id sig { returns(T.nilable(FinchAPI::Money)) } attr_reader :net_pay @@ -123,22 +126,22 @@ module FinchAPI end def self.new( # The array of earnings objects associated with this pay statement - earnings:, + earnings: nil, # The array of deductions objects associated with this pay statement. - employee_deductions:, - employer_contributions:, - gross_pay:, + employee_deductions: nil, + employer_contributions: nil, + gross_pay: nil, # A stable Finch `id` (UUID v4) for an individual in the company - individual_id:, - net_pay:, + individual_id: nil, + net_pay: nil, # The payment method. - payment_method:, + payment_method: nil, # The array of taxes objects associated with this pay statement. - taxes:, + taxes: nil, # The number of hours worked for this pay period - total_hours:, + total_hours: nil, # The type of the payment associated with the pay statement. - type: + type: nil ) end @@ -195,6 +198,23 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount + sig do + returns( + T.nilable(FinchAPI::HRIS::PayStatement::Earning::Attributes) + ) + end + attr_reader :attributes + + sig do + params( + attributes: + T.nilable( + FinchAPI::HRIS::PayStatement::Earning::Attributes::OrHash + ) + ).void + end + attr_writer :attributes + # The earnings currency code. sig { returns(T.nilable(String)) } attr_accessor :currency @@ -218,52 +238,33 @@ module FinchAPI end attr_accessor :type - sig do - returns( - T.nilable(FinchAPI::HRIS::PayStatement::Earning::Attributes) - ) - end - attr_reader :attributes - sig do params( + amount: T.nilable(Integer), attributes: T.nilable( FinchAPI::HRIS::PayStatement::Earning::Attributes::OrHash - ) - ).void - end - attr_writer :attributes - - sig do - params( - amount: T.nilable(Integer), + ), currency: T.nilable(String), hours: T.nilable(Float), name: T.nilable(String), type: - T.nilable( - FinchAPI::HRIS::PayStatement::Earning::Type::OrSymbol - ), - attributes: - T.nilable( - FinchAPI::HRIS::PayStatement::Earning::Attributes::OrHash - ) + T.nilable(FinchAPI::HRIS::PayStatement::Earning::Type::OrSymbol) ).returns(T.attached_class) end def self.new( # The earnings amount in cents. - amount:, + amount: nil, + attributes: nil, # The earnings currency code. - currency:, + currency: nil, # The number of hours associated with this earning. (For salaried employees, this # could be hours per pay period, `0` or `null`, depending on the provider). - hours:, + hours: nil, # The exact name of the deduction from the pay statement. - name:, + name: nil, # The type of earning. - type:, - attributes: nil + type: nil ) end @@ -271,21 +272,110 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), + attributes: + T.nilable(FinchAPI::HRIS::PayStatement::Earning::Attributes), currency: T.nilable(String), hours: T.nilable(Float), name: T.nilable(String), type: T.nilable( FinchAPI::HRIS::PayStatement::Earning::Type::TaggedSymbol - ), - attributes: - T.nilable(FinchAPI::HRIS::PayStatement::Earning::Attributes) + ) } ) end def to_hash end + class Attributes < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Earning::Attributes, + FinchAPI::Internal::AnyHash + ) + end + + sig do + returns( + T.nilable( + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + ) + ) + end + attr_reader :metadata + + sig do + params( + metadata: + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata::OrHash + ).void + end + attr_writer :metadata + + sig do + params( + metadata: + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata::OrHash + ).returns(T.attached_class) + end + def self.new(metadata: nil) + end + + sig do + override.returns( + { + metadata: + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + } + ) + end + def to_hash + end + + class Metadata < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) + end + + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } + attr_reader :metadata + + sig do + params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void + end + attr_writer :metadata + + sig do + params( + metadata: T::Hash[Symbol, T.nilable(T.anything)] + ).returns(T.attached_class) + end + def self.new( + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + metadata: nil + ) + end + + sig do + override.returns( + { metadata: T::Hash[Symbol, T.nilable(T.anything)] } + ) + end + def to_hash + end + end + end + # The type of earning. module Type extend FinchAPI::Internal::Type::Enum @@ -372,88 +462,6 @@ module FinchAPI def self.values end end - - class Attributes < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::HRIS::PayStatement::Earning::Attributes, - FinchAPI::Internal::AnyHash - ) - end - - sig do - returns( - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - ) - end - attr_reader :metadata - - sig do - params( - metadata: - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata::OrHash - ).void - end - attr_writer :metadata - - sig do - params( - metadata: - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata::OrHash - ).returns(T.attached_class) - end - def self.new(metadata:) - end - - sig do - override.returns( - { - metadata: - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - } - ) - end - def to_hash - end - - class Metadata < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata, - FinchAPI::Internal::AnyHash - ) - end - - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } - attr_accessor :metadata - - sig do - params( - metadata: T::Hash[Symbol, T.nilable(T.anything)] - ).returns(T.attached_class) - end - def self.new( - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - metadata: - ) - end - - sig do - override.returns( - { metadata: T::Hash[Symbol, T.nilable(T.anything)] } - ) - end - def to_hash - end - end - end end class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel @@ -469,22 +477,6 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - # The deduction currency. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # The deduction name from the pay statement. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Boolean indicating if the deduction is pre-tax. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :pre_tax - - # Type of benefit. - sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol)) } - attr_accessor :type - sig do returns( T.nilable( @@ -504,31 +496,47 @@ module FinchAPI end attr_writer :attributes + # The deduction currency. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # The deduction name from the pay statement. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Boolean indicating if the deduction is pre-tax. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :pre_tax + + # Type of benefit. + sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol)) } + attr_accessor :type + sig do params( amount: T.nilable(Integer), - currency: T.nilable(String), - name: T.nilable(String), - pre_tax: T.nilable(T::Boolean), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::OrHash - ) + ), + currency: T.nilable(String), + name: T.nilable(String), + pre_tax: T.nilable(T::Boolean), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) ).returns(T.attached_class) end def self.new( # The deduction amount in cents. - amount:, + amount: nil, + attributes: nil, # The deduction currency. - currency:, + currency: nil, # The deduction name from the pay statement. - name:, + name: nil, # Boolean indicating if the deduction is pre-tax. - pre_tax:, + pre_tax: nil, # Type of benefit. - type:, - attributes: nil + type: nil ) end @@ -536,14 +544,14 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - currency: T.nilable(String), - name: T.nilable(String), - pre_tax: T.nilable(T::Boolean), - type: T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol), attributes: T.nilable( FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes - ) + ), + currency: T.nilable(String), + name: T.nilable(String), + pre_tax: T.nilable(T::Boolean), + type: T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol) } ) end @@ -561,7 +569,9 @@ module FinchAPI sig do returns( - FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata + T.nilable( + FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata + ) ) end attr_reader :metadata @@ -580,7 +590,7 @@ module FinchAPI FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata:) + def self.new(metadata: nil) end sig do @@ -606,8 +616,13 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } - attr_accessor :metadata + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } + attr_reader :metadata + + sig do + params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void + end + attr_writer :metadata sig do params( @@ -618,7 +633,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: + metadata: nil ) end @@ -646,18 +661,6 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - # The contribution currency. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # The contribution name from the pay statement. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Type of benefit. - sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol)) } - attr_accessor :type - sig do returns( T.nilable( @@ -677,28 +680,40 @@ module FinchAPI end attr_writer :attributes + # The contribution currency. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # The contribution name from the pay statement. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Type of benefit. + sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol)) } + attr_accessor :type + sig do params( amount: T.nilable(Integer), - currency: T.nilable(String), - name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::OrHash - ) + ), + currency: T.nilable(String), + name: T.nilable(String), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) ).returns(T.attached_class) end def self.new( # The contribution amount in cents. - amount:, + amount: nil, + attributes: nil, # The contribution currency. - currency:, + currency: nil, # The contribution name from the pay statement. - name:, + name: nil, # Type of benefit. - type:, - attributes: nil + type: nil ) end @@ -706,13 +721,13 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - currency: T.nilable(String), - name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol), attributes: T.nilable( FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes - ) + ), + currency: T.nilable(String), + name: T.nilable(String), + type: T.nilable(FinchAPI::HRIS::BenefitType::TaggedSymbol) } ) end @@ -730,7 +745,9 @@ module FinchAPI sig do returns( - FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata + T.nilable( + FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata + ) ) end attr_reader :metadata @@ -749,7 +766,7 @@ module FinchAPI FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata:) + def self.new(metadata: nil) end sig do @@ -775,8 +792,13 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } - attr_accessor :metadata + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } + attr_reader :metadata + + sig do + params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void + end + attr_writer :metadata sig do params( @@ -787,7 +809,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: + metadata: nil ) end @@ -852,6 +874,19 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount + sig do + returns(T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes)) + end + attr_reader :attributes + + sig do + params( + attributes: + T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes::OrHash) + ).void + end + attr_writer :attributes + # The currency code. sig { returns(T.nilable(String)) } attr_accessor :currency @@ -872,43 +907,31 @@ module FinchAPI end attr_accessor :type - sig do - returns(T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes)) - end - attr_reader :attributes - - sig do - params( - attributes: - T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes::OrHash) - ).void - end - attr_writer :attributes - sig do params( amount: T.nilable(Integer), + attributes: + T.nilable( + FinchAPI::HRIS::PayStatement::Tax::Attributes::OrHash + ), currency: T.nilable(String), employer: T.nilable(T::Boolean), name: T.nilable(String), - type: - T.nilable(FinchAPI::HRIS::PayStatement::Tax::Type::OrSymbol), - attributes: - T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes::OrHash) + type: T.nilable(FinchAPI::HRIS::PayStatement::Tax::Type::OrSymbol) ).returns(T.attached_class) end def self.new( # The tax amount in cents. - amount:, + amount: nil, + attributes: nil, # The currency code. - currency:, + currency: nil, # `true` if the amount is paid by the employers. - employer:, + employer: nil, # The exact name of tax from the pay statement. - name:, + name: nil, # The type of taxes. - type:, - attributes: nil + type: nil ) end @@ -916,61 +939,21 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), + attributes: + T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes), currency: T.nilable(String), employer: T.nilable(T::Boolean), name: T.nilable(String), type: T.nilable( FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ), - attributes: - T.nilable(FinchAPI::HRIS::PayStatement::Tax::Attributes) + ) } ) end def to_hash end - # The type of taxes. - module Type - extend FinchAPI::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, FinchAPI::HRIS::PayStatement::Tax::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - STATE = - T.let( - :state, - FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) - FEDERAL = - T.let( - :federal, - FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) - LOCAL = - T.let( - :local, - FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) - FICA = - T.let( - :fica, - FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol] - ) - end - def self.values - end - end - class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do @@ -981,7 +964,11 @@ module FinchAPI end sig do - returns(FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata) + returns( + T.nilable( + FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata + ) + ) end attr_reader :metadata @@ -999,7 +986,7 @@ module FinchAPI FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata:) + def self.new(metadata: nil) end sig do @@ -1025,8 +1012,13 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } - attr_accessor :metadata + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) } + attr_reader :metadata + + sig do + params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void + end + attr_writer :metadata sig do params( @@ -1037,7 +1029,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: + metadata: nil ) end @@ -1050,6 +1042,46 @@ module FinchAPI end end end + + # The type of taxes. + module Type + extend FinchAPI::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, FinchAPI::HRIS::PayStatement::Tax::Type) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + STATE = + T.let( + :state, + FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol + ) + FEDERAL = + T.let( + :federal, + FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol + ) + LOCAL = + T.let( + :local, + FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol + ) + FICA = + T.let( + :fica, + FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[FinchAPI::HRIS::PayStatement::Tax::Type::TaggedSymbol] + ) + end + def self.values + end + end end # The type of the payment associated with the pay statement. diff --git a/rbi/finch_api/models/hris/pay_statement_response.rbi b/rbi/finch_api/models/hris/pay_statement_response.rbi index 9f2409f2..035d8d52 100644 --- a/rbi/finch_api/models/hris/pay_statement_response.rbi +++ b/rbi/finch_api/models/hris/pay_statement_response.rbi @@ -12,7 +12,7 @@ module FinchAPI ) end - sig { returns(FinchAPI::HRIS::PayStatementResponseBody) } + sig { returns(T.nilable(FinchAPI::HRIS::PayStatementResponseBody)) } attr_reader :body sig do @@ -20,11 +20,17 @@ module FinchAPI end attr_writer :body - sig { returns(Integer) } - attr_accessor :code + sig { returns(T.nilable(Integer)) } + attr_reader :code - sig { returns(String) } - attr_accessor :payment_id + sig { params(code: Integer).void } + attr_writer :code + + sig { returns(T.nilable(String)) } + attr_reader :payment_id + + sig { params(payment_id: String).void } + attr_writer :payment_id sig do params( @@ -33,7 +39,7 @@ module FinchAPI payment_id: String ).returns(T.attached_class) end - def self.new(body:, code:, payment_id:) + def self.new(body: nil, code: nil, payment_id: nil) end sig do diff --git a/rbi/finch_api/models/hris/pay_statement_response_body.rbi b/rbi/finch_api/models/hris/pay_statement_response_body.rbi index c786586d..2deb25a9 100644 --- a/rbi/finch_api/models/hris/pay_statement_response_body.rbi +++ b/rbi/finch_api/models/hris/pay_statement_response_body.rbi @@ -12,74 +12,46 @@ module FinchAPI ) end - sig { returns(FinchAPI::HRIS::PayStatementResponseBody::Paging) } + sig { returns(T.nilable(FinchAPI::Paging)) } attr_reader :paging + sig { params(paging: FinchAPI::Paging::OrHash).void } + attr_writer :paging + + # The array of pay statements for the current payment. + sig { returns(T.nilable(T::Array[FinchAPI::HRIS::PayStatement])) } + attr_reader :pay_statements + sig do params( - paging: FinchAPI::HRIS::PayStatementResponseBody::Paging::OrHash + pay_statements: T::Array[FinchAPI::HRIS::PayStatement::OrHash] ).void end - attr_writer :paging - - sig { returns(T::Array[FinchAPI::HRIS::PayStatement]) } - attr_accessor :pay_statements + attr_writer :pay_statements sig do params( - paging: FinchAPI::HRIS::PayStatementResponseBody::Paging::OrHash, + paging: FinchAPI::Paging::OrHash, pay_statements: T::Array[FinchAPI::HRIS::PayStatement::OrHash] ).returns(T.attached_class) end - def self.new(paging:, pay_statements:) + def self.new( + paging: nil, + # The array of pay statements for the current payment. + pay_statements: nil + ) end sig do override.returns( { - paging: FinchAPI::HRIS::PayStatementResponseBody::Paging, + paging: FinchAPI::Paging, pay_statements: T::Array[FinchAPI::HRIS::PayStatement] } ) end def to_hash end - - class Paging < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::HRIS::PayStatementResponseBody::Paging, - FinchAPI::Internal::AnyHash - ) - end - - # The current start index of the returned list of elements - sig { returns(Integer) } - attr_accessor :offset - - # The total number of elements for the entire query (not just the given page) - sig { returns(T.nilable(Integer)) } - attr_reader :count - - sig { params(count: Integer).void } - attr_writer :count - - sig do - params(offset: Integer, count: Integer).returns(T.attached_class) - end - def self.new( - # The current start index of the returned list of elements - offset:, - # The total number of elements for the entire query (not just the given page) - count: nil - ) - end - - sig { override.returns({ offset: Integer, count: Integer }) } - def to_hash - end - end end end end diff --git a/rbi/finch_api/models/hris/payment.rbi b/rbi/finch_api/models/hris/payment.rbi index e2615cd5..7b7d6081 100644 --- a/rbi/finch_api/models/hris/payment.rbi +++ b/rbi/finch_api/models/hris/payment.rbi @@ -10,8 +10,11 @@ module FinchAPI end # The unique id for the payment. - sig { returns(String) } - attr_accessor :id + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id sig { returns(T.nilable(FinchAPI::Money)) } attr_reader :company_debit @@ -99,22 +102,22 @@ module FinchAPI end def self.new( # The unique id for the payment. - id:, - company_debit:, - debit_date:, - employee_taxes:, - employer_taxes:, - gross_pay:, + id: nil, + company_debit: nil, + debit_date: nil, + employee_taxes: nil, + employer_taxes: nil, + gross_pay: nil, # Array of every individual on this payment. - individual_ids:, - net_pay:, - pay_date:, + individual_ids: nil, + net_pay: nil, + pay_date: nil, # List of pay frequencies associated with this payment. - pay_frequencies:, + pay_frequencies: nil, # Array of the Finch id (uuidv4) of every pay group associated with this payment. - pay_group_ids:, + pay_group_ids: nil, # The pay period object. - pay_period: + pay_period: nil ) end @@ -156,34 +159,34 @@ module FinchAPI :annually, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) - BI_WEEKLY = + SEMI_ANNUALLY = T.let( - :bi_weekly, + :semi_annually, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) - DAILY = - T.let(:daily, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) - MONTHLY = - T.let(:monthly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) - OTHER = - T.let(:other, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) QUARTERLY = T.let( :quarterly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) - SEMI_ANNUALLY = + MONTHLY = + T.let(:monthly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) + SEMI_MONTHLY = T.let( - :semi_annually, + :semi_monthly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) - SEMI_MONTHLY = + BI_WEEKLY = T.let( - :semi_monthly, + :bi_weekly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol ) WEEKLY = T.let(:weekly, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) + DAILY = + T.let(:daily, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) + OTHER = + T.let(:other, FinchAPI::HRIS::Payment::PayFrequency::TaggedSymbol) sig do override.returns( @@ -216,7 +219,7 @@ module FinchAPI start_date: T.nilable(String) ).returns(T.attached_class) end - def self.new(end_date:, start_date:) + def self.new(end_date: nil, start_date: nil) end sig do diff --git a/rbi/finch_api/models/money.rbi b/rbi/finch_api/models/money.rbi index 82daff20..6510a1a1 100644 --- a/rbi/finch_api/models/money.rbi +++ b/rbi/finch_api/models/money.rbi @@ -10,8 +10,11 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - sig { returns(String) } - attr_accessor :currency + sig { returns(T.nilable(String)) } + attr_reader :currency + + sig { params(currency: String).void } + attr_writer :currency sig do params(amount: T.nilable(Integer), currency: String).returns( @@ -20,8 +23,8 @@ module FinchAPI end def self.new( # Amount for money object (in cents) - amount:, - currency: + amount: nil, + currency: nil ) end diff --git a/rbi/finch_api/models/payroll/pay_group_list_response.rbi b/rbi/finch_api/models/payroll/pay_group_list_response.rbi index d6739ac3..dae722e8 100644 --- a/rbi/finch_api/models/payroll/pay_group_list_response.rbi +++ b/rbi/finch_api/models/payroll/pay_group_list_response.rbi @@ -13,22 +13,40 @@ module FinchAPI end # Finch id (uuidv4) for the pay group - sig { returns(String) } - attr_accessor :id + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id # Name of the pay group - sig { returns(String) } - attr_accessor :name + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name # List of pay frequencies associated with this pay group sig do returns( - T::Array[ - FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol - ] + T.nilable( + T::Array[ + FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol + ] + ) ) end - attr_accessor :pay_frequencies + attr_reader :pay_frequencies + + sig do + params( + pay_frequencies: + T::Array[ + FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::OrSymbol + ] + ).void + end + attr_writer :pay_frequencies sig do params( @@ -42,11 +60,11 @@ module FinchAPI end def self.new( # Finch id (uuidv4) for the pay group - id:, + id: nil, # Name of the pay group - name:, + name: nil, # List of pay frequencies associated with this pay group - pay_frequencies: + pay_frequencies: nil ) end @@ -82,14 +100,14 @@ module FinchAPI :annually, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - BI_WEEKLY = + SEMI_ANNUALLY = T.let( - :bi_weekly, + :semi_annually, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - DAILY = + QUARTERLY = T.let( - :daily, + :quarterly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) MONTHLY = @@ -97,29 +115,29 @@ module FinchAPI :monthly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - OTHER = + SEMI_MONTHLY = T.let( - :other, + :semi_monthly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - QUARTERLY = + BI_WEEKLY = T.let( - :quarterly, + :bi_weekly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - SEMI_ANNUALLY = + WEEKLY = T.let( - :semi_annually, + :weekly, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - SEMI_MONTHLY = + DAILY = T.let( - :semi_monthly, + :daily, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) - WEEKLY = + OTHER = T.let( - :weekly, + :other, FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency::TaggedSymbol ) diff --git a/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi b/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi index b340d962..6a4f31f5 100644 --- a/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi +++ b/rbi/finch_api/models/payroll/pay_group_retrieve_response.rbi @@ -88,14 +88,14 @@ module FinchAPI :annually, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - BI_WEEKLY = + SEMI_ANNUALLY = T.let( - :bi_weekly, + :semi_annually, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - DAILY = + QUARTERLY = T.let( - :daily, + :quarterly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) MONTHLY = @@ -103,29 +103,29 @@ module FinchAPI :monthly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - OTHER = + SEMI_MONTHLY = T.let( - :other, + :semi_monthly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - QUARTERLY = + BI_WEEKLY = T.let( - :quarterly, + :bi_weekly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - SEMI_ANNUALLY = + WEEKLY = T.let( - :semi_annually, + :weekly, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - SEMI_MONTHLY = + DAILY = T.let( - :semi_monthly, + :daily, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) - WEEKLY = + OTHER = T.let( - :weekly, + :other, FinchAPI::Models::Payroll::PayGroupRetrieveResponse::PayFrequency::TaggedSymbol ) diff --git a/rbi/finch_api/models/sandbox/payment_create_params.rbi b/rbi/finch_api/models/sandbox/payment_create_params.rbi index f92aa993..247cb329 100644 --- a/rbi/finch_api/models/sandbox/payment_create_params.rbi +++ b/rbi/finch_api/models/sandbox/payment_create_params.rbi @@ -136,8 +136,11 @@ module FinchAPI attr_writer :gross_pay # A stable Finch `id` (UUID v4) for an individual in the company - sig { returns(String) } - attr_accessor :individual_id + sig { returns(T.nilable(String)) } + attr_reader :individual_id + + sig { params(individual_id: String).void } + attr_writer :individual_id sig { returns(T.nilable(FinchAPI::Money)) } attr_reader :net_pay @@ -233,22 +236,22 @@ module FinchAPI end def self.new( # The array of earnings objects associated with this pay statement - earnings:, + earnings: nil, # The array of deductions objects associated with this pay statement. - employee_deductions:, - employer_contributions:, - gross_pay:, + employee_deductions: nil, + employer_contributions: nil, + gross_pay: nil, # A stable Finch `id` (UUID v4) for an individual in the company - individual_id:, - net_pay:, + individual_id: nil, + net_pay: nil, # The payment method. - payment_method:, + payment_method: nil, # The array of taxes objects associated with this pay statement. - taxes:, + taxes: nil, # The number of hours worked for this pay period - total_hours:, + total_hours: nil, # The type of the payment associated with the pay statement. - type: + type: nil ) end @@ -318,6 +321,25 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount + sig do + returns( + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes + ) + ) + end + attr_reader :attributes + + sig do + params( + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::OrHash + ) + ).void + end + attr_writer :attributes + # The earnings currency code. sig { returns(T.nilable(String)) } attr_accessor :currency @@ -341,54 +363,35 @@ module FinchAPI end attr_accessor :type - sig do - returns( - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes - ) - ) - end - attr_reader :attributes - sig do params( + amount: T.nilable(Integer), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::OrHash - ) - ).void - end - attr_writer :attributes - - sig do - params( - amount: T.nilable(Integer), + ), currency: T.nilable(String), hours: T.nilable(Float), name: T.nilable(String), type: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type::OrSymbol - ), - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::OrHash ) ).returns(T.attached_class) end def self.new( # The earnings amount in cents. - amount:, + amount: nil, + attributes: nil, # The earnings currency code. - currency:, + currency: nil, # The number of hours associated with this earning. (For salaried employees, this # could be hours per pay period, `0` or `null`, depending on the provider). - hours:, + hours: nil, # The exact name of the deduction from the pay statement. - name:, + name: nil, # The type of earning. - type:, - attributes: nil + type: nil ) end @@ -396,16 +399,16 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes + ), currency: T.nilable(String), hours: T.nilable(Float), name: T.nilable(String), type: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Type::OrSymbol - ), - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes ) } ) @@ -413,6 +416,97 @@ module FinchAPI def to_hash end + class Attributes < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, + FinchAPI::Internal::AnyHash + ) + end + + sig do + returns( + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + ) + ) + end + attr_reader :metadata + + sig do + params( + metadata: + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata::OrHash + ).void + end + attr_writer :metadata + + sig do + params( + metadata: + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata::OrHash + ).returns(T.attached_class) + end + def self.new(metadata: nil) + end + + sig do + override.returns( + { + metadata: + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + } + ) + end + def to_hash + end + + class Metadata < FinchAPI::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata, + FinchAPI::Internal::AnyHash + ) + end + + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + sig do + returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) + end + attr_reader :metadata + + sig do + params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void + end + attr_writer :metadata + + sig do + params( + metadata: T::Hash[Symbol, T.nilable(T.anything)] + ).returns(T.attached_class) + end + def self.new( + # The metadata to be attached to the entity by existing rules. It is a key-value + # pairs where the values can be of any type (string, number, boolean, object, + # array, etc.). + metadata: nil + ) + end + + sig do + override.returns( + { metadata: T::Hash[Symbol, T.nilable(T.anything)] } + ) + end + def to_hash + end + end + end + # The type of earning. module Type extend FinchAPI::Internal::Type::Enum @@ -502,88 +596,6 @@ module FinchAPI def self.values end end - - class Attributes < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes, - FinchAPI::Internal::AnyHash - ) - end - - sig do - returns( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - ) - end - attr_reader :metadata - - sig do - params( - metadata: - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata::OrHash - ).void - end - attr_writer :metadata - - sig do - params( - metadata: - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata::OrHash - ).returns(T.attached_class) - end - def self.new(metadata:) - end - - sig do - override.returns( - { - metadata: - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - } - ) - end - def to_hash - end - - class Metadata < FinchAPI::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata, - FinchAPI::Internal::AnyHash - ) - end - - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } - attr_accessor :metadata - - sig do - params( - metadata: T::Hash[Symbol, T.nilable(T.anything)] - ).returns(T.attached_class) - end - def self.new( - # The metadata to be attached to the entity by existing rules. It is a key-value - # pairs where the values can be of any type (string, number, boolean, object, - # array, etc.). - metadata: - ) - end - - sig do - override.returns( - { metadata: T::Hash[Symbol, T.nilable(T.anything)] } - ) - end - def to_hash - end - end - end end class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel @@ -599,22 +611,6 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - # The deduction currency. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # The deduction name from the pay statement. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Boolean indicating if the deduction is pre-tax. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :pre_tax - - # Type of benefit. - sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol)) } - attr_accessor :type - sig do returns( T.nilable( @@ -634,31 +630,47 @@ module FinchAPI end attr_writer :attributes + # The deduction currency. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # The deduction name from the pay statement. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Boolean indicating if the deduction is pre-tax. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :pre_tax + + # Type of benefit. + sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol)) } + attr_accessor :type + sig do params( amount: T.nilable(Integer), - currency: T.nilable(String), - name: T.nilable(String), - pre_tax: T.nilable(T::Boolean), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::OrHash - ) + ), + currency: T.nilable(String), + name: T.nilable(String), + pre_tax: T.nilable(T::Boolean), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) ).returns(T.attached_class) end def self.new( # The deduction amount in cents. - amount:, + amount: nil, + attributes: nil, # The deduction currency. - currency:, + currency: nil, # The deduction name from the pay statement. - name:, + name: nil, # Boolean indicating if the deduction is pre-tax. - pre_tax:, + pre_tax: nil, # Type of benefit. - type:, - attributes: nil + type: nil ) end @@ -666,14 +678,14 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - currency: T.nilable(String), - name: T.nilable(String), - pre_tax: T.nilable(T::Boolean), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes - ) + ), + currency: T.nilable(String), + name: T.nilable(String), + pre_tax: T.nilable(T::Boolean), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) } ) end @@ -691,7 +703,9 @@ module FinchAPI sig do returns( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata + ) ) end attr_reader :metadata @@ -710,7 +724,7 @@ module FinchAPI FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata:) + def self.new(metadata: nil) end sig do @@ -736,8 +750,15 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } - attr_accessor :metadata + sig do + returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) + end + attr_reader :metadata + + sig do + params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void + end + attr_writer :metadata sig do params( @@ -748,7 +769,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: + metadata: nil ) end @@ -776,18 +797,6 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount - # The contribution currency. - sig { returns(T.nilable(String)) } - attr_accessor :currency - - # The contribution name from the pay statement. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Type of benefit. - sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol)) } - attr_accessor :type - sig do returns( T.nilable( @@ -807,28 +816,40 @@ module FinchAPI end attr_writer :attributes + # The contribution currency. + sig { returns(T.nilable(String)) } + attr_accessor :currency + + # The contribution name from the pay statement. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Type of benefit. + sig { returns(T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol)) } + attr_accessor :type + sig do params( amount: T.nilable(Integer), - currency: T.nilable(String), - name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::OrHash - ) + ), + currency: T.nilable(String), + name: T.nilable(String), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) ).returns(T.attached_class) end def self.new( # The contribution amount in cents. - amount:, + amount: nil, + attributes: nil, # The contribution currency. - currency:, + currency: nil, # The contribution name from the pay statement. - name:, + name: nil, # Type of benefit. - type:, - attributes: nil + type: nil ) end @@ -836,13 +857,13 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), - currency: T.nilable(String), - name: T.nilable(String), - type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes - ) + ), + currency: T.nilable(String), + name: T.nilable(String), + type: T.nilable(FinchAPI::HRIS::BenefitType::OrSymbol) } ) end @@ -860,7 +881,9 @@ module FinchAPI sig do returns( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata + ) ) end attr_reader :metadata @@ -879,7 +902,7 @@ module FinchAPI FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata:) + def self.new(metadata: nil) end sig do @@ -905,8 +928,15 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } - attr_accessor :metadata + sig do + returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) + end + attr_reader :metadata + + sig do + params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void + end + attr_writer :metadata sig do params( @@ -917,7 +947,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: + metadata: nil ) end @@ -985,6 +1015,25 @@ module FinchAPI sig { returns(T.nilable(Integer)) } attr_accessor :amount + sig do + returns( + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes + ) + ) + end + attr_reader :attributes + + sig do + params( + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::OrHash + ) + ).void + end + attr_writer :attributes + # The currency code. sig { returns(T.nilable(String)) } attr_accessor :currency @@ -1007,53 +1056,34 @@ module FinchAPI end attr_accessor :type - sig do - returns( - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes - ) - ) - end - attr_reader :attributes - sig do params( + amount: T.nilable(Integer), attributes: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::OrHash - ) - ).void - end - attr_writer :attributes - - sig do - params( - amount: T.nilable(Integer), + ), currency: T.nilable(String), employer: T.nilable(T::Boolean), name: T.nilable(String), type: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::OrSymbol - ), - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::OrHash ) ).returns(T.attached_class) end def self.new( # The tax amount in cents. - amount:, + amount: nil, + attributes: nil, # The currency code. - currency:, + currency: nil, # `true` if the amount is paid by the employers. - employer:, + employer: nil, # The exact name of tax from the pay statement. - name:, + name: nil, # The type of taxes. - type:, - attributes: nil + type: nil ) end @@ -1061,16 +1091,16 @@ module FinchAPI override.returns( { amount: T.nilable(Integer), + attributes: + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes + ), currency: T.nilable(String), employer: T.nilable(T::Boolean), name: T.nilable(String), type: T.nilable( FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::OrSymbol - ), - attributes: - T.nilable( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes ) } ) @@ -1078,51 +1108,6 @@ module FinchAPI def to_hash end - # The type of taxes. - module Type - extend FinchAPI::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - STATE = - T.let( - :state, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ) - FEDERAL = - T.let( - :federal, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ) - LOCAL = - T.let( - :local, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ) - FICA = - T.let( - :fica, - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - class Attributes < FinchAPI::Internal::Type::BaseModel OrHash = T.type_alias do @@ -1134,7 +1119,9 @@ module FinchAPI sig do returns( - FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata + T.nilable( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata + ) ) end attr_reader :metadata @@ -1153,7 +1140,7 @@ module FinchAPI FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata::OrHash ).returns(T.attached_class) end - def self.new(metadata:) + def self.new(metadata: nil) end sig do @@ -1179,8 +1166,15 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - sig { returns(T::Hash[Symbol, T.nilable(T.anything)]) } - attr_accessor :metadata + sig do + returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) + end + attr_reader :metadata + + sig do + params(metadata: T::Hash[Symbol, T.nilable(T.anything)]).void + end + attr_writer :metadata sig do params( @@ -1191,7 +1185,7 @@ module FinchAPI # The metadata to be attached to the entity by existing rules. It is a key-value # pairs where the values can be of any type (string, number, boolean, object, # array, etc.). - metadata: + metadata: nil ) end @@ -1204,6 +1198,51 @@ module FinchAPI end end end + + # The type of taxes. + module Type + extend FinchAPI::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + STATE = + T.let( + :state, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ) + FEDERAL = + T.let( + :federal, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ) + LOCAL = + T.let( + :local, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ) + FICA = + T.let( + :fica, + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Type::TaggedSymbol + ] + ) + end + def self.values + end + end end # The type of the payment associated with the pay statement. diff --git a/sig/finch_api/models/hris/benefit_type.rbs b/sig/finch_api/models/hris/benefit_type.rbs index 60b14edd..e8ee3636 100644 --- a/sig/finch_api/models/hris/benefit_type.rbs +++ b/sig/finch_api/models/hris/benefit_type.rbs @@ -2,48 +2,48 @@ module FinchAPI module Models module HRIS type benefit_type = - :"457" - | :"401k" + :"401k" | :"401k_roth" | :"401k_loan" | :"403b" | :"403b_roth" + | :"457" | :"457_roth" - | :commuter - | :custom_post_tax - | :custom_pre_tax - | :fsa_dependent_care - | :fsa_medical - | :hsa_post - | :hsa_pre - | :s125_dental | :s125_medical + | :s125_dental | :s125_vision - | :simple + | :hsa_pre + | :hsa_post + | :fsa_medical + | :fsa_dependent_care | :simple_ira + | :simple + | :commuter + | :custom_post_tax + | :custom_pre_tax module BenefitType extend FinchAPI::Internal::Type::Enum - BENEFIT_TYPE_457: :"457" BENEFIT_TYPE_401K: :"401k" BENEFIT_TYPE_401K_ROTH: :"401k_roth" BENEFIT_TYPE_401K_LOAN: :"401k_loan" BENEFIT_TYPE_403B: :"403b" BENEFIT_TYPE_403B_ROTH: :"403b_roth" + BENEFIT_TYPE_457: :"457" BENEFIT_TYPE_457_ROTH: :"457_roth" - COMMUTER: :commuter - CUSTOM_POST_TAX: :custom_post_tax - CUSTOM_PRE_TAX: :custom_pre_tax - FSA_DEPENDENT_CARE: :fsa_dependent_care - FSA_MEDICAL: :fsa_medical - HSA_POST: :hsa_post - HSA_PRE: :hsa_pre - S125_DENTAL: :s125_dental S125_MEDICAL: :s125_medical + S125_DENTAL: :s125_dental S125_VISION: :s125_vision - SIMPLE: :simple + HSA_PRE: :hsa_pre + HSA_POST: :hsa_post + FSA_MEDICAL: :fsa_medical + FSA_DEPENDENT_CARE: :fsa_dependent_care SIMPLE_IRA: :simple_ira + SIMPLE: :simple + COMMUTER: :commuter + CUSTOM_POST_TAX: :custom_post_tax + CUSTOM_PRE_TAX: :custom_pre_tax def self?.values: -> ::Array[FinchAPI::Models::HRIS::benefit_type] end diff --git a/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs b/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs index e34b7a3a..75713a6d 100644 --- a/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs +++ b/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs @@ -10,38 +10,48 @@ module FinchAPI } class PayStatementItemListResponse < FinchAPI::Internal::Type::BaseModel - attr_accessor attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes + attr_reader attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes? - attr_accessor category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category + def attributes=: ( + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes + ) -> FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes - attr_accessor name: String + attr_reader category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category? + + def category=: ( + FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category + ) -> FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category + + attr_reader name: String? + + def name=: (String) -> String def initialize: ( - attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, - category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category, - name: String + ?attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, + ?category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::category, + ?name: String ) -> void type attributes = { - metadata: ::Hash[Symbol, top?]?, employer: bool?, + metadata: ::Hash[Symbol, top?]?, pre_tax: bool?, type: String? } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?]? - attr_accessor employer: bool? + attr_accessor metadata: ::Hash[Symbol, top?]? + attr_accessor pre_tax: bool? attr_accessor type: String? def initialize: ( - metadata: ::Hash[Symbol, top?]?, ?employer: bool?, + ?metadata: ::Hash[Symbol, top?]?, ?pre_tax: bool?, ?type: String? ) -> void diff --git a/sig/finch_api/models/hris/pay_statement.rbs b/sig/finch_api/models/hris/pay_statement.rbs index cfbd5956..f8b18b32 100644 --- a/sig/finch_api/models/hris/pay_statement.rbs +++ b/sig/finch_api/models/hris/pay_statement.rbs @@ -24,7 +24,9 @@ module FinchAPI attr_accessor gross_pay: FinchAPI::Money? - attr_accessor individual_id: String + attr_reader individual_id: String? + + def individual_id=: (String) -> String attr_accessor net_pay: FinchAPI::Money? @@ -37,31 +39,33 @@ module FinchAPI attr_accessor type: FinchAPI::HRIS::PayStatement::type_? def initialize: ( - earnings: ::Array[FinchAPI::HRIS::PayStatement::Earning?]?, - employee_deductions: ::Array[FinchAPI::HRIS::PayStatement::EmployeeDeduction?]?, - employer_contributions: ::Array[FinchAPI::HRIS::PayStatement::EmployerContribution?]?, - gross_pay: FinchAPI::Money?, - individual_id: String, - net_pay: FinchAPI::Money?, - payment_method: FinchAPI::HRIS::PayStatement::payment_method?, - taxes: ::Array[FinchAPI::HRIS::PayStatement::Tax?]?, - total_hours: Float?, - type: FinchAPI::HRIS::PayStatement::type_? + ?earnings: ::Array[FinchAPI::HRIS::PayStatement::Earning?]?, + ?employee_deductions: ::Array[FinchAPI::HRIS::PayStatement::EmployeeDeduction?]?, + ?employer_contributions: ::Array[FinchAPI::HRIS::PayStatement::EmployerContribution?]?, + ?gross_pay: FinchAPI::Money?, + ?individual_id: String, + ?net_pay: FinchAPI::Money?, + ?payment_method: FinchAPI::HRIS::PayStatement::payment_method?, + ?taxes: ::Array[FinchAPI::HRIS::PayStatement::Tax?]?, + ?total_hours: Float?, + ?type: FinchAPI::HRIS::PayStatement::type_? ) -> void type earning = { amount: Integer?, + attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes?, currency: String?, hours: Float?, name: String?, - type: FinchAPI::HRIS::PayStatement::Earning::type_?, - attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes? + type: FinchAPI::HRIS::PayStatement::Earning::type_? } class Earning < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? + attr_accessor attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes? + attr_accessor currency: String? attr_accessor hours: Float? @@ -70,17 +74,42 @@ module FinchAPI attr_accessor type: FinchAPI::HRIS::PayStatement::Earning::type_? - attr_accessor attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes? - def initialize: ( - amount: Integer?, - currency: String?, - hours: Float?, - name: String?, - type: FinchAPI::HRIS::PayStatement::Earning::type_?, - ?attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes? + ?amount: Integer?, + ?attributes: FinchAPI::HRIS::PayStatement::Earning::Attributes?, + ?currency: String?, + ?hours: Float?, + ?name: String?, + ?type: FinchAPI::HRIS::PayStatement::Earning::type_? ) -> void + type attributes = + { + metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + } + + class Attributes < FinchAPI::Internal::Type::BaseModel + attr_reader metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata? + + def metadata=: ( + FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + ) -> FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + + def initialize: ( + ?metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata + ) -> void + + type metadata = { metadata: ::Hash[Symbol, top?] } + + class Metadata < FinchAPI::Internal::Type::BaseModel + attr_reader metadata: ::Hash[Symbol, top?]? + + def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] + + def initialize: (?metadata: ::Hash[Symbol, top?]) -> void + end + end + type type_ = :salary | :wage @@ -115,42 +144,23 @@ module FinchAPI def self?.values: -> ::Array[FinchAPI::HRIS::PayStatement::Earning::type_] end - - type attributes = - { - metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - } - - class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - - def initialize: ( - metadata: FinchAPI::HRIS::PayStatement::Earning::Attributes::Metadata - ) -> void - - type metadata = { metadata: ::Hash[Symbol, top?] } - - class Metadata < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?] - - def initialize: (metadata: ::Hash[Symbol, top?]) -> void - end - end end type employee_deduction = { amount: Integer?, + attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes?, currency: String?, name: String?, pre_tax: bool?, - type: FinchAPI::Models::HRIS::benefit_type?, - attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes? + type: FinchAPI::Models::HRIS::benefit_type? } class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? + attr_accessor attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes? + attr_accessor currency: String? attr_accessor name: String? @@ -159,15 +169,13 @@ module FinchAPI attr_accessor type: FinchAPI::Models::HRIS::benefit_type? - attr_accessor attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes? - def initialize: ( - amount: Integer?, - currency: String?, - name: String?, - pre_tax: bool?, - type: FinchAPI::Models::HRIS::benefit_type?, - ?attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes? + ?amount: Integer?, + ?attributes: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes?, + ?currency: String?, + ?name: String?, + ?pre_tax: bool?, + ?type: FinchAPI::Models::HRIS::benefit_type? ) -> void type attributes = @@ -176,18 +184,24 @@ module FinchAPI } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata + attr_reader metadata: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata? + + def metadata=: ( + FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata + ) -> FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata def initialize: ( - metadata: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata + ?metadata: FinchAPI::HRIS::PayStatement::EmployeeDeduction::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?] + attr_reader metadata: ::Hash[Symbol, top?]? + + def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] - def initialize: (metadata: ::Hash[Symbol, top?]) -> void + def initialize: (?metadata: ::Hash[Symbol, top?]) -> void end end end @@ -195,29 +209,29 @@ module FinchAPI type employer_contribution = { amount: Integer?, + attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes?, currency: String?, name: String?, - type: FinchAPI::Models::HRIS::benefit_type?, - attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes? + type: FinchAPI::Models::HRIS::benefit_type? } class EmployerContribution < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? + attr_accessor attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes? + attr_accessor currency: String? attr_accessor name: String? attr_accessor type: FinchAPI::Models::HRIS::benefit_type? - attr_accessor attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes? - def initialize: ( - amount: Integer?, - currency: String?, - name: String?, - type: FinchAPI::Models::HRIS::benefit_type?, - ?attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes? + ?amount: Integer?, + ?attributes: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes?, + ?currency: String?, + ?name: String?, + ?type: FinchAPI::Models::HRIS::benefit_type? ) -> void type attributes = @@ -226,18 +240,24 @@ module FinchAPI } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata + attr_reader metadata: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata? + + def metadata=: ( + FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata + ) -> FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata def initialize: ( - metadata: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata + ?metadata: FinchAPI::HRIS::PayStatement::EmployerContribution::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?] + attr_reader metadata: ::Hash[Symbol, top?]? - def initialize: (metadata: ::Hash[Symbol, top?]) -> void + def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] + + def initialize: (?metadata: ::Hash[Symbol, top?]) -> void end end end @@ -257,16 +277,18 @@ module FinchAPI type tax = { amount: Integer?, + attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes?, currency: String?, employer: bool?, name: String?, - type: FinchAPI::HRIS::PayStatement::Tax::type_?, - attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes? + type: FinchAPI::HRIS::PayStatement::Tax::type_? } class Tax < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? + attr_accessor attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes? + attr_accessor currency: String? attr_accessor employer: bool? @@ -275,50 +297,54 @@ module FinchAPI attr_accessor type: FinchAPI::HRIS::PayStatement::Tax::type_? - attr_accessor attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes? - def initialize: ( - amount: Integer?, - currency: String?, - employer: bool?, - name: String?, - type: FinchAPI::HRIS::PayStatement::Tax::type_?, - ?attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes? + ?amount: Integer?, + ?attributes: FinchAPI::HRIS::PayStatement::Tax::Attributes?, + ?currency: String?, + ?employer: bool?, + ?name: String?, + ?type: FinchAPI::HRIS::PayStatement::Tax::type_? ) -> void - type type_ = :state | :federal | :local | :fica - - module Type - extend FinchAPI::Internal::Type::Enum - - STATE: :state - FEDERAL: :federal - LOCAL: :local - FICA: :fica - - def self?.values: -> ::Array[FinchAPI::HRIS::PayStatement::Tax::type_] - end - type attributes = { metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata + attr_reader metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata? + + def metadata=: ( + FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata + ) -> FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata def initialize: ( - metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata + ?metadata: FinchAPI::HRIS::PayStatement::Tax::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?] + attr_reader metadata: ::Hash[Symbol, top?]? - def initialize: (metadata: ::Hash[Symbol, top?]) -> void + def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] + + def initialize: (?metadata: ::Hash[Symbol, top?]) -> void end end + + type type_ = :state | :federal | :local | :fica + + module Type + extend FinchAPI::Internal::Type::Enum + + STATE: :state + FEDERAL: :federal + LOCAL: :local + FICA: :fica + + def self?.values: -> ::Array[FinchAPI::HRIS::PayStatement::Tax::type_] + end end type type_ = :regular_payroll | :off_cycle_payroll | :one_time_payment diff --git a/sig/finch_api/models/hris/pay_statement_response.rbs b/sig/finch_api/models/hris/pay_statement_response.rbs index bf8cbb95..16a109ce 100644 --- a/sig/finch_api/models/hris/pay_statement_response.rbs +++ b/sig/finch_api/models/hris/pay_statement_response.rbs @@ -9,16 +9,24 @@ module FinchAPI } class PayStatementResponse < FinchAPI::Internal::Type::BaseModel - attr_accessor body: FinchAPI::HRIS::PayStatementResponseBody + attr_reader body: FinchAPI::HRIS::PayStatementResponseBody? - attr_accessor code: Integer + def body=: ( + FinchAPI::HRIS::PayStatementResponseBody + ) -> FinchAPI::HRIS::PayStatementResponseBody - attr_accessor payment_id: String + attr_reader code: Integer? + + def code=: (Integer) -> Integer + + attr_reader payment_id: String? + + def payment_id=: (String) -> String def initialize: ( - body: FinchAPI::HRIS::PayStatementResponseBody, - code: Integer, - payment_id: String + ?body: FinchAPI::HRIS::PayStatementResponseBody, + ?code: Integer, + ?payment_id: String ) -> void end end diff --git a/sig/finch_api/models/hris/pay_statement_response_body.rbs b/sig/finch_api/models/hris/pay_statement_response_body.rbs index 0f98fddd..03b7d292 100644 --- a/sig/finch_api/models/hris/pay_statement_response_body.rbs +++ b/sig/finch_api/models/hris/pay_statement_response_body.rbs @@ -3,31 +3,25 @@ module FinchAPI module HRIS type pay_statement_response_body = { - paging: FinchAPI::HRIS::PayStatementResponseBody::Paging, + paging: FinchAPI::Paging, pay_statements: ::Array[FinchAPI::HRIS::PayStatement] } class PayStatementResponseBody < FinchAPI::Internal::Type::BaseModel - attr_accessor paging: FinchAPI::HRIS::PayStatementResponseBody::Paging + attr_reader paging: FinchAPI::Paging? - attr_accessor pay_statements: ::Array[FinchAPI::HRIS::PayStatement] + def paging=: (FinchAPI::Paging) -> FinchAPI::Paging - def initialize: ( - paging: FinchAPI::HRIS::PayStatementResponseBody::Paging, - pay_statements: ::Array[FinchAPI::HRIS::PayStatement] - ) -> void - - type paging = { offset: Integer, count: Integer } + attr_reader pay_statements: ::Array[FinchAPI::HRIS::PayStatement]? - class Paging < FinchAPI::Internal::Type::BaseModel - attr_accessor offset: Integer + def pay_statements=: ( + ::Array[FinchAPI::HRIS::PayStatement] + ) -> ::Array[FinchAPI::HRIS::PayStatement] - attr_reader count: Integer? - - def count=: (Integer) -> Integer - - def initialize: (offset: Integer, ?count: Integer) -> void - end + def initialize: ( + ?paging: FinchAPI::Paging, + ?pay_statements: ::Array[FinchAPI::HRIS::PayStatement] + ) -> void end end end diff --git a/sig/finch_api/models/hris/payment.rbs b/sig/finch_api/models/hris/payment.rbs index 348b3901..8950479b 100644 --- a/sig/finch_api/models/hris/payment.rbs +++ b/sig/finch_api/models/hris/payment.rbs @@ -18,7 +18,9 @@ module FinchAPI } class Payment < FinchAPI::Internal::Type::BaseModel - attr_accessor id: String + attr_reader id: String? + + def id=: (String) -> String attr_accessor company_debit: FinchAPI::Money? @@ -43,43 +45,43 @@ module FinchAPI attr_accessor pay_period: FinchAPI::HRIS::Payment::PayPeriod? def initialize: ( - id: String, - company_debit: FinchAPI::Money?, - debit_date: String?, - employee_taxes: FinchAPI::Money?, - employer_taxes: FinchAPI::Money?, - gross_pay: FinchAPI::Money?, - individual_ids: ::Array[String]?, - net_pay: FinchAPI::Money?, - pay_date: String?, - pay_frequencies: ::Array[FinchAPI::HRIS::Payment::pay_frequency]?, - pay_group_ids: ::Array[String]?, - pay_period: FinchAPI::HRIS::Payment::PayPeriod? + ?id: String, + ?company_debit: FinchAPI::Money?, + ?debit_date: String?, + ?employee_taxes: FinchAPI::Money?, + ?employer_taxes: FinchAPI::Money?, + ?gross_pay: FinchAPI::Money?, + ?individual_ids: ::Array[String]?, + ?net_pay: FinchAPI::Money?, + ?pay_date: String?, + ?pay_frequencies: ::Array[FinchAPI::HRIS::Payment::pay_frequency]?, + ?pay_group_ids: ::Array[String]?, + ?pay_period: FinchAPI::HRIS::Payment::PayPeriod? ) -> void type pay_frequency = :annually - | :bi_weekly - | :daily - | :monthly - | :other - | :quarterly | :semi_annually + | :quarterly + | :monthly | :semi_monthly + | :bi_weekly | :weekly + | :daily + | :other module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY: :annually - BI_WEEKLY: :bi_weekly - DAILY: :daily - MONTHLY: :monthly - OTHER: :other - QUARTERLY: :quarterly SEMI_ANNUALLY: :semi_annually + QUARTERLY: :quarterly + MONTHLY: :monthly SEMI_MONTHLY: :semi_monthly + BI_WEEKLY: :bi_weekly WEEKLY: :weekly + DAILY: :daily + OTHER: :other def self?.values: -> ::Array[FinchAPI::HRIS::Payment::pay_frequency] end @@ -91,7 +93,7 @@ module FinchAPI attr_accessor start_date: String? - def initialize: (end_date: String?, start_date: String?) -> void + def initialize: (?end_date: String?, ?start_date: String?) -> void end end end diff --git a/sig/finch_api/models/money.rbs b/sig/finch_api/models/money.rbs index 21f442f4..31fc9398 100644 --- a/sig/finch_api/models/money.rbs +++ b/sig/finch_api/models/money.rbs @@ -5,9 +5,11 @@ module FinchAPI class Money < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? - attr_accessor currency: String + attr_reader currency: String? - def initialize: (amount: Integer?, currency: String) -> void + def currency=: (String) -> String + + def initialize: (?amount: Integer?, ?currency: String) -> void end end end diff --git a/sig/finch_api/models/payroll/pay_group_list_response.rbs b/sig/finch_api/models/payroll/pay_group_list_response.rbs index da82c9a9..9b203674 100644 --- a/sig/finch_api/models/payroll/pay_group_list_response.rbs +++ b/sig/finch_api/models/payroll/pay_group_list_response.rbs @@ -9,41 +9,49 @@ module FinchAPI } class PayGroupListResponse < FinchAPI::Internal::Type::BaseModel - attr_accessor id: String + attr_reader id: String? - attr_accessor name: String + def id=: (String) -> String - attr_accessor pay_frequencies: ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] + attr_reader name: String? + + def name=: (String) -> String + + attr_reader pay_frequencies: ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency]? + + def pay_frequencies=: ( + ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] + ) -> ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] def initialize: ( - id: String, - name: String, - pay_frequencies: ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] + ?id: String, + ?name: String, + ?pay_frequencies: ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] ) -> void type pay_frequency = :annually - | :bi_weekly - | :daily - | :monthly - | :other - | :quarterly | :semi_annually + | :quarterly + | :monthly | :semi_monthly + | :bi_weekly | :weekly + | :daily + | :other module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY: :annually - BI_WEEKLY: :bi_weekly - DAILY: :daily - MONTHLY: :monthly - OTHER: :other - QUARTERLY: :quarterly SEMI_ANNUALLY: :semi_annually + QUARTERLY: :quarterly + MONTHLY: :monthly SEMI_MONTHLY: :semi_monthly + BI_WEEKLY: :bi_weekly WEEKLY: :weekly + DAILY: :daily + OTHER: :other def self?.values: -> ::Array[FinchAPI::Models::Payroll::PayGroupListResponse::pay_frequency] end diff --git a/sig/finch_api/models/payroll/pay_group_retrieve_response.rbs b/sig/finch_api/models/payroll/pay_group_retrieve_response.rbs index 8013b72f..4fbffd0b 100644 --- a/sig/finch_api/models/payroll/pay_group_retrieve_response.rbs +++ b/sig/finch_api/models/payroll/pay_group_retrieve_response.rbs @@ -27,27 +27,27 @@ module FinchAPI type pay_frequency = :annually - | :bi_weekly - | :daily - | :monthly - | :other - | :quarterly | :semi_annually + | :quarterly + | :monthly | :semi_monthly + | :bi_weekly | :weekly + | :daily + | :other module PayFrequency extend FinchAPI::Internal::Type::Enum ANNUALLY: :annually - BI_WEEKLY: :bi_weekly - DAILY: :daily - MONTHLY: :monthly - OTHER: :other - QUARTERLY: :quarterly SEMI_ANNUALLY: :semi_annually + QUARTERLY: :quarterly + MONTHLY: :monthly SEMI_MONTHLY: :semi_monthly + BI_WEEKLY: :bi_weekly WEEKLY: :weekly + DAILY: :daily + OTHER: :other def self?.values: -> ::Array[FinchAPI::Models::Payroll::PayGroupRetrieveResponse::pay_frequency] end diff --git a/sig/finch_api/models/sandbox/payment_create_params.rbs b/sig/finch_api/models/sandbox/payment_create_params.rbs index ea37c270..b70453e0 100644 --- a/sig/finch_api/models/sandbox/payment_create_params.rbs +++ b/sig/finch_api/models/sandbox/payment_create_params.rbs @@ -57,7 +57,9 @@ module FinchAPI attr_accessor gross_pay: FinchAPI::Money? - attr_accessor individual_id: String + attr_reader individual_id: String? + + def individual_id=: (String) -> String attr_accessor net_pay: FinchAPI::Money? @@ -70,31 +72,33 @@ module FinchAPI attr_accessor type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::type_? def initialize: ( - earnings: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning?]?, - employee_deductions: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction?]?, - employer_contributions: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution?]?, - gross_pay: FinchAPI::Money?, - individual_id: String, - net_pay: FinchAPI::Money?, - payment_method: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::payment_method?, - taxes: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax?]?, - total_hours: Float?, - type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::type_? + ?earnings: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning?]?, + ?employee_deductions: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction?]?, + ?employer_contributions: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution?]?, + ?gross_pay: FinchAPI::Money?, + ?individual_id: String, + ?net_pay: FinchAPI::Money?, + ?payment_method: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::payment_method?, + ?taxes: ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax?]?, + ?total_hours: Float?, + ?type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::type_? ) -> void type earning = { amount: Integer?, + attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes?, currency: String?, hours: Float?, name: String?, - type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_?, - attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes? + type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_? } class Earning < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? + attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes? + attr_accessor currency: String? attr_accessor hours: Float? @@ -103,17 +107,42 @@ module FinchAPI attr_accessor type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_? - attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes? - def initialize: ( - amount: Integer?, - currency: String?, - hours: Float?, - name: String?, - type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_?, - ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes? + ?amount: Integer?, + ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes?, + ?currency: String?, + ?hours: Float?, + ?name: String?, + ?type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_? ) -> void + type attributes = + { + metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + } + + class Attributes < FinchAPI::Internal::Type::BaseModel + attr_reader metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata? + + def metadata=: ( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + ) -> FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + + def initialize: ( + ?metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata + ) -> void + + type metadata = { metadata: ::Hash[Symbol, top?] } + + class Metadata < FinchAPI::Internal::Type::BaseModel + attr_reader metadata: ::Hash[Symbol, top?]? + + def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] + + def initialize: (?metadata: ::Hash[Symbol, top?]) -> void + end + end + type type_ = :salary | :wage @@ -148,42 +177,23 @@ module FinchAPI def self?.values: -> ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::type_] end - - type attributes = - { - metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - } - - class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - - def initialize: ( - metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Earning::Attributes::Metadata - ) -> void - - type metadata = { metadata: ::Hash[Symbol, top?] } - - class Metadata < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?] - - def initialize: (metadata: ::Hash[Symbol, top?]) -> void - end - end end type employee_deduction = { amount: Integer?, + attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes?, currency: String?, name: String?, pre_tax: bool?, - type: FinchAPI::Models::HRIS::benefit_type?, - attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes? + type: FinchAPI::Models::HRIS::benefit_type? } class EmployeeDeduction < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? + attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes? + attr_accessor currency: String? attr_accessor name: String? @@ -192,15 +202,13 @@ module FinchAPI attr_accessor type: FinchAPI::Models::HRIS::benefit_type? - attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes? - def initialize: ( - amount: Integer?, - currency: String?, - name: String?, - pre_tax: bool?, - type: FinchAPI::Models::HRIS::benefit_type?, - ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes? + ?amount: Integer?, + ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes?, + ?currency: String?, + ?name: String?, + ?pre_tax: bool?, + ?type: FinchAPI::Models::HRIS::benefit_type? ) -> void type attributes = @@ -209,18 +217,24 @@ module FinchAPI } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata + attr_reader metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata? + + def metadata=: ( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata + ) -> FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata def initialize: ( - metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata + ?metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployeeDeduction::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?] + attr_reader metadata: ::Hash[Symbol, top?]? + + def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] - def initialize: (metadata: ::Hash[Symbol, top?]) -> void + def initialize: (?metadata: ::Hash[Symbol, top?]) -> void end end end @@ -228,29 +242,29 @@ module FinchAPI type employer_contribution = { amount: Integer?, + attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes?, currency: String?, name: String?, - type: FinchAPI::Models::HRIS::benefit_type?, - attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes? + type: FinchAPI::Models::HRIS::benefit_type? } class EmployerContribution < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? + attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes? + attr_accessor currency: String? attr_accessor name: String? attr_accessor type: FinchAPI::Models::HRIS::benefit_type? - attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes? - def initialize: ( - amount: Integer?, - currency: String?, - name: String?, - type: FinchAPI::Models::HRIS::benefit_type?, - ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes? + ?amount: Integer?, + ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes?, + ?currency: String?, + ?name: String?, + ?type: FinchAPI::Models::HRIS::benefit_type? ) -> void type attributes = @@ -259,18 +273,24 @@ module FinchAPI } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata + attr_reader metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata? + + def metadata=: ( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata + ) -> FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata def initialize: ( - metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata + ?metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::EmployerContribution::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?] + attr_reader metadata: ::Hash[Symbol, top?]? - def initialize: (metadata: ::Hash[Symbol, top?]) -> void + def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] + + def initialize: (?metadata: ::Hash[Symbol, top?]) -> void end end end @@ -290,16 +310,18 @@ module FinchAPI type tax = { amount: Integer?, + attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes?, currency: String?, employer: bool?, name: String?, - type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_?, - attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes? + type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_? } class Tax < FinchAPI::Internal::Type::BaseModel attr_accessor amount: Integer? + attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes? + attr_accessor currency: String? attr_accessor employer: bool? @@ -308,50 +330,54 @@ module FinchAPI attr_accessor type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_? - attr_accessor attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes? - def initialize: ( - amount: Integer?, - currency: String?, - employer: bool?, - name: String?, - type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_?, - ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes? + ?amount: Integer?, + ?attributes: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes?, + ?currency: String?, + ?employer: bool?, + ?name: String?, + ?type: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_? ) -> void - type type_ = :state | :federal | :local | :fica - - module Type - extend FinchAPI::Internal::Type::Enum - - STATE: :state - FEDERAL: :federal - LOCAL: :local - FICA: :fica - - def self?.values: -> ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_] - end - type attributes = { metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata } class Attributes < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata + attr_reader metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata? + + def metadata=: ( + FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata + ) -> FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata def initialize: ( - metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata + ?metadata: FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::Attributes::Metadata ) -> void type metadata = { metadata: ::Hash[Symbol, top?] } class Metadata < FinchAPI::Internal::Type::BaseModel - attr_accessor metadata: ::Hash[Symbol, top?] + attr_reader metadata: ::Hash[Symbol, top?]? - def initialize: (metadata: ::Hash[Symbol, top?]) -> void + def metadata=: (::Hash[Symbol, top?]) -> ::Hash[Symbol, top?] + + def initialize: (?metadata: ::Hash[Symbol, top?]) -> void end end + + type type_ = :state | :federal | :local | :fica + + module Type + extend FinchAPI::Internal::Type::Enum + + STATE: :state + FEDERAL: :federal + LOCAL: :local + FICA: :fica + + def self?.values: -> ::Array[FinchAPI::Sandbox::PaymentCreateParams::PayStatement::Tax::type_] + end end type type_ = :regular_payroll | :off_cycle_payroll | :one_time_payment diff --git a/test/finch_api/resources/hris/company/pay_statement_item_test.rb b/test/finch_api/resources/hris/company/pay_statement_item_test.rb index 9f6a30a5..b666c2ce 100644 --- a/test/finch_api/resources/hris/company/pay_statement_item_test.rb +++ b/test/finch_api/resources/hris/company/pay_statement_item_test.rb @@ -19,9 +19,9 @@ def test_list assert_pattern do row => { - attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes, - category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category, - name: String + attributes: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Attributes | nil, + category: FinchAPI::Models::HRIS::Company::PayStatementItemListResponse::Category | nil, + name: String | nil } end end diff --git a/test/finch_api/resources/hris/pay_statements_test.rb b/test/finch_api/resources/hris/pay_statements_test.rb index 43e820b2..735fa76d 100644 --- a/test/finch_api/resources/hris/pay_statements_test.rb +++ b/test/finch_api/resources/hris/pay_statements_test.rb @@ -20,9 +20,9 @@ def test_retrieve_many_required_params assert_pattern do row => { - body: FinchAPI::HRIS::PayStatementResponseBody, - code: Integer, - payment_id: String + body: FinchAPI::HRIS::PayStatementResponseBody | nil, + code: Integer | nil, + payment_id: String | nil } end end diff --git a/test/finch_api/resources/hris/payments_test.rb b/test/finch_api/resources/hris/payments_test.rb index d7ca30a0..fb27a74b 100644 --- a/test/finch_api/resources/hris/payments_test.rb +++ b/test/finch_api/resources/hris/payments_test.rb @@ -19,7 +19,7 @@ def test_list_required_params assert_pattern do row => { - id: String, + id: String | nil, company_debit: FinchAPI::Money | nil, debit_date: String | nil, employee_taxes: FinchAPI::Money | nil, diff --git a/test/finch_api/resources/payroll/pay_groups_test.rb b/test/finch_api/resources/payroll/pay_groups_test.rb index d28f0b85..bd1d6b53 100644 --- a/test/finch_api/resources/payroll/pay_groups_test.rb +++ b/test/finch_api/resources/payroll/pay_groups_test.rb @@ -36,9 +36,9 @@ def test_list assert_pattern do row => { - id: String, - name: String, - pay_frequencies: ^(FinchAPI::Internal::Type::ArrayOf[enum: FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency]) + id: String | nil, + name: String | nil, + pay_frequencies: ^(FinchAPI::Internal::Type::ArrayOf[enum: FinchAPI::Models::Payroll::PayGroupListResponse::PayFrequency]) | nil } end end From 85eee814a91ac222fd7e6d724d20d1724090e96b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 16 May 2025 04:50:22 +0000 Subject: [PATCH 12/12] release: 0.1.0-alpha.17 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ README.md | 2 +- lib/finch_api/version.rb | 2 +- 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7e56fe29..e2f2c074 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.16" + ".": "0.1.0-alpha.17" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c757c7db..71ef7171 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,35 @@ # Changelog +## 0.1.0-alpha.17 (2025-05-16) + +Full Changelog: [v0.1.0-alpha.16...v0.1.0-alpha.17](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.16...v0.1.0-alpha.17) + +### Features + +* **api:** api update ([2cd7677](https://github.com/Finch-API/finch-api-ruby/commit/2cd76772fe2768477bb236372c94887a7f1f7022)) +* **api:** api update ([db14723](https://github.com/Finch-API/finch-api-ruby/commit/db147236a70addae46834af9b8339400480a7600)) +* **api:** api update ([1f0346a](https://github.com/Finch-API/finch-api-ruby/commit/1f0346afcca537802e8287a46bc2f759e909975f)) +* bump default connection pool size limit to minimum of 99 ([2e0e107](https://github.com/Finch-API/finch-api-ruby/commit/2e0e1078e5a29ffb965346cd6f620743f0e4b6db)) +* expose base client options as read only attributes ([289fb00](https://github.com/Finch-API/finch-api-ruby/commit/289fb00361821da703dbc9aab1db9ad8435427e3)) +* expose recursive `#to_h` conversion ([03335a6](https://github.com/Finch-API/finch-api-ruby/commit/03335a6a67ce9176fecdafc79c98ddeb22210803)) +* support sorbet aliases at the runtime ([beb18c8](https://github.com/Finch-API/finch-api-ruby/commit/beb18c85b5edba3d056d5d480f9fc4d19ea751a4)) + + +### Bug Fixes + +* **internal:** update gemspec name ([70eb621](https://github.com/Finch-API/finch-api-ruby/commit/70eb6214cf238d92f6b2f23969f252a5e4ce3941)) + + +### Chores + +* fix misc linting / minor issues ([9c271ed](https://github.com/Finch-API/finch-api-ruby/commit/9c271edf9374973a70e98774d1f55959181ed6be)) +* **internal:** version bump ([f365e16](https://github.com/Finch-API/finch-api-ruby/commit/f365e164984a15deeb545bc07ab8a85373d840ea)) + + +### Documentation + +* rewrite much of README.md for readability ([d5fac03](https://github.com/Finch-API/finch-api-ruby/commit/d5fac031d01715a45d40fab30e856e42c601a9a9)) + ## 0.1.0-alpha.16 (2025-05-08) Full Changelog: [v0.1.0-alpha.15...v0.1.0-alpha.16](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.15...v0.1.0-alpha.16) diff --git a/README.md b/README.md index 7beedb6c..ddbe24bd 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "finch-api", "~> 0.1.0.pre.alpha.16" +gem "finch-api", "~> 0.1.0.pre.alpha.17" ``` diff --git a/lib/finch_api/version.rb b/lib/finch_api/version.rb index 2da0f4c1..4d3582a9 100644 --- a/lib/finch_api/version.rb +++ b/lib/finch_api/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module FinchAPI - VERSION = "0.1.0.pre.alpha.16" + VERSION = "0.1.0.pre.alpha.17" end