diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bcb566d..f132a4b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: permissions: contents: read id-token: write - runs-on: ${{ github.repository == 'stainless-sdks/vitable-connect-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: |- github.repository == 'stainless-sdks/vitable-connect-ruby' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') @@ -56,7 +56,7 @@ jobs: lint: timeout-minutes: 10 name: lint - runs-on: ${{ github.repository == 'stainless-sdks/vitable-connect-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: @@ -73,7 +73,7 @@ jobs: test: timeout-minutes: 10 name: test - runs-on: ${{ github.repository == 'stainless-sdks/vitable-connect-ruby' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2aca35a..4208b5c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.5.0" + ".": "0.6.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index c090223..4b0abd6 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 20 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/vitable/vitable-connect-4e049d21bf4d1154541a77764427eafdc9a088c0a55f31f1d8880b388f18c0de.yml -openapi_spec_hash: eada242b2cc0d091d633c264be7f8a69 -config_hash: f9c90441d2ba5436a2224f6ba4f669e9 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/vitable/vitable-connect-0cad8b2afe668835947111b8104ce1208656ff7345454963d54ca8f61287c25b.yml +openapi_spec_hash: 600b580ad628a1e04804503f22819c39 +config_hash: 7295ebbd0e718c807378a7e264b1f400 diff --git a/CHANGELOG.md b/CHANGELOG.md index fc3a57f..7dd75a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## 0.6.0 (2026-07-21) + +Full Changelog: [v0.5.0...v0.6.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.5.0...v0.6.0) + +### Features + +* **api:** api update ([d27c533](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/d27c533ad620cce795687476e75da6c6ca58c981)) +* **api:** api update ([9977677](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/99776776cfdda16a6c1d747411f593e6a6604a93)) +* **api:** removed benefit policies from api reference ([a030ce5](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/a030ce509786dee1f6c331bd0d74914caaf79b16)) +* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([432db79](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/432db791d9bb609ce1f65cbbe338e41254edf038)) + + +### Chores + +* **internal:** bound formatter parallelism to CPU count ([fa81169](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/fa811693161dee1bc144df4db95258ca4755ed51)) + ## 0.5.0 (2026-06-18) Full Changelog: [v0.4.0...v0.5.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.4.0...v0.5.0) diff --git a/Gemfile.lock b/Gemfile.lock index 8fe0999..2346c80 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - vitable-connect (0.5.0) + vitable-connect (0.6.0) cgi connection_pool diff --git a/README.md b/README.md index 219d219..50a2ef4 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 "vitable-connect", "~> 0.5.0" +gem "vitable-connect", "~> 0.6.0" ``` diff --git a/Rakefile b/Rakefile index 861c5bf..d1e2bd0 100644 --- a/Rakefile +++ b/Rakefile @@ -1,5 +1,6 @@ # frozen_string_literal: true +require "etc" require "pathname" require "securerandom" require "shellwords" @@ -37,7 +38,11 @@ multitask(:test) do ruby(*%w[-w -e], rb, verbose: false) { fail unless _1 } end -xargs = %w[xargs --no-run-if-empty --null --max-procs=0 --max-args=300 --] +# Cap parallelism at the CPU count. `--max-procs=0` spawns one process per +# 300-file batch with no upper bound; on large SDKs (thousands of files) that +# oversubscribes CPUs and stacks up rubocop processes, exhausting memory and +# slowing CI to the point of timing out. +xargs = %W[xargs --no-run-if-empty --null --max-procs=#{Etc.nprocessors} --max-args=300 --] ruby_opt = {"RUBYOPT" => [ENV["RUBYOPT"], "--encoding=UTF-8"].compact.join(" ")} filtered = ->(ext, dirs) do diff --git a/lib/vitable_connect.rb b/lib/vitable_connect.rb index 054ae9d..6990d73 100644 --- a/lib/vitable_connect.rb +++ b/lib/vitable_connect.rb @@ -87,7 +87,6 @@ require_relative "vitable_connect/models/pagination" require_relative "vitable_connect/models/plan_list_params" require_relative "vitable_connect/models/plan_list_response" -require_relative "vitable_connect/models/type" require_relative "vitable_connect/models/webhook_event" require_relative "vitable_connect/models/webhook_event_list_deliveries_params" require_relative "vitable_connect/models/webhook_event_list_deliveries_response" @@ -96,7 +95,6 @@ require_relative "vitable_connect/models/webhook_event_retrieve_response" require_relative "vitable_connect/models" require_relative "vitable_connect/resources/auth" -require_relative "vitable_connect/resources/benefit_eligibility_policies" require_relative "vitable_connect/resources/employees" require_relative "vitable_connect/resources/employers" require_relative "vitable_connect/resources/enrollments" diff --git a/lib/vitable_connect/client.rb b/lib/vitable_connect/client.rb index 68f424e..963b859 100644 --- a/lib/vitable_connect/client.rb +++ b/lib/vitable_connect/client.rb @@ -30,9 +30,6 @@ class Client < VitableConnect::Internal::Transport::BaseClient # @return [VitableConnect::Resources::Auth] attr_reader :auth - # @return [VitableConnect::Resources::BenefitEligibilityPolicies] - attr_reader :benefit_eligibility_policies - # @return [VitableConnect::Resources::Employees] attr_reader :employees @@ -127,7 +124,6 @@ def initialize( ) @auth = VitableConnect::Resources::Auth.new(client: self) - @benefit_eligibility_policies = VitableConnect::Resources::BenefitEligibilityPolicies.new(client: self) @employees = VitableConnect::Resources::Employees.new(client: self) @employers = VitableConnect::Resources::Employers.new(client: self) @enrollments = VitableConnect::Resources::Enrollments.new(client: self) diff --git a/lib/vitable_connect/internal/type/enum.rb b/lib/vitable_connect/internal/type/enum.rb index ca4e82a..3f1e23f 100644 --- a/lib/vitable_connect/internal/type/enum.rb +++ b/lib/vitable_connect/internal/type/enum.rb @@ -17,24 +17,28 @@ module Type # values safely. # # @example - # # `type` is a `VitableConnect::Type` - # case type - # when VitableConnect::Type::EMPLOYER + # # `employee_class` is a `VitableConnect::EmployeeClass` + # case employee_class + # when VitableConnect::EmployeeClass::FULL_TIME # # ... - # when VitableConnect::Type::EMPLOYEE + # when VitableConnect::EmployeeClass::PART_TIME + # # ... + # when VitableConnect::EmployeeClass::TEMPORARY # # ... # else - # puts(type) + # puts(employee_class) # end # # @example - # case type - # in :employer + # case employee_class + # in :"Full Time" + # # ... + # in :"Part Time" # # ... - # in :employee + # in :Temporary # # ... # else - # puts(type) + # puts(employee_class) # end module Enum include VitableConnect::Internal::Type::Converter diff --git a/lib/vitable_connect/models.rb b/lib/vitable_connect/models.rb index 3d71e9b..c7772e8 100644 --- a/lib/vitable_connect/models.rb +++ b/lib/vitable_connect/models.rb @@ -92,8 +92,6 @@ module VitableConnect PlanListParams = VitableConnect::Models::PlanListParams - Type = VitableConnect::Models::Type - WebhookEvent = VitableConnect::Models::WebhookEvent WebhookEventListDeliveriesParams = VitableConnect::Models::WebhookEventListDeliveriesParams diff --git a/lib/vitable_connect/models/auth_issue_access_token_params.rb b/lib/vitable_connect/models/auth_issue_access_token_params.rb index 61b35f3..249647b 100644 --- a/lib/vitable_connect/models/auth_issue_access_token_params.rb +++ b/lib/vitable_connect/models/auth_issue_access_token_params.rb @@ -48,8 +48,8 @@ class BoundEntity < VitableConnect::Internal::Type::BaseModel # - `employer` - employer # - `employee` - employee # - # @return [Symbol, VitableConnect::Models::Type] - required :type, enum: -> { VitableConnect::Type } + # @return [Symbol, VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity::Type] + required :type, enum: -> { VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type } # @!method initialize(id:, type:) # Some parameter documentations has been truncated, see @@ -61,7 +61,21 @@ class BoundEntity < VitableConnect::Internal::Type::BaseModel # @param id [String] Prefixed entity ID to bind the token to (empr*\* for employer, empl*\* for # employe # - # @param type [Symbol, VitableConnect::Models::Type] - `employer` - employer + # @param type [Symbol, VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity::Type] - `employer` - employer + + # - `employer` - employer + # - `employee` - employee + # + # @see VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity#type + module Type + extend VitableConnect::Internal::Type::Enum + + EMPLOYER = :employer + EMPLOYEE = :employee + + # @!method self.values + # @return [Array] + end end end end diff --git a/lib/vitable_connect/models/auth_issue_access_token_response.rb b/lib/vitable_connect/models/auth_issue_access_token_response.rb index f487a24..b164032 100644 --- a/lib/vitable_connect/models/auth_issue_access_token_response.rb +++ b/lib/vitable_connect/models/auth_issue_access_token_response.rb @@ -51,8 +51,8 @@ class BoundEntity < VitableConnect::Internal::Type::BaseModel # - `employer` - employer # - `employee` - employee # - # @return [Symbol, VitableConnect::Models::Type] - required :type, enum: -> { VitableConnect::Type } + # @return [Symbol, VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type] + required :type, enum: -> { VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type } # @!method initialize(id:, type:) # Some parameter documentations has been truncated, see @@ -63,7 +63,21 @@ class BoundEntity < VitableConnect::Internal::Type::BaseModel # # @param id [String] Prefixed entity ID the token is bound to (empr*\* or empl*\*) # - # @param type [Symbol, VitableConnect::Models::Type] - `employer` - employer + # @param type [Symbol, VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type] - `employer` - employer + + # - `employer` - employer + # - `employee` - employee + # + # @see VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity#type + module Type + extend VitableConnect::Internal::Type::Enum + + EMPLOYER = :employer + EMPLOYEE = :employee + + # @!method self.values + # @return [Array] + end end end end diff --git a/lib/vitable_connect/models/employee.rb b/lib/vitable_connect/models/employee.rb index 32d6ab0..88755c2 100644 --- a/lib/vitable_connect/models/employee.rb +++ b/lib/vitable_connect/models/employee.rb @@ -28,6 +28,17 @@ class Employee < VitableConnect::Internal::Type::BaseModel # @return [String] required :email, String + # @!attribute employee_class + # - `Full Time` - Full Time + # - `Part Time` - Part Time + # - `Temporary` - Temporary + # - `Intern` - Intern + # - `Seasonal` - Seasonal + # - `Individual Contractor` - Individual Contractor + # + # @return [Symbol, VitableConnect::Models::EmployeeClass] + required :employee_class, enum: -> { VitableConnect::EmployeeClass } + # @!attribute first_name # Employee's legal first name # @@ -52,29 +63,12 @@ class Employee < VitableConnect::Internal::Type::BaseModel # @return [VitableConnect::Models::Employee::Address, nil] optional :address, -> { VitableConnect::Employee::Address }, nil?: true - # @!attribute employee_class - # - `Full Time` - Full Time - # - `Part Time` - Part Time - # - `Temporary` - Temporary - # - `Intern` - Intern - # - `Seasonal` - Seasonal - # - `Individual Contractor` - Individual Contractor - # - # @return [Symbol, VitableConnect::Models::EmployeeClass, nil] - optional :employee_class, enum: -> { VitableConnect::EmployeeClass }, nil?: true - # @!attribute gender # Gender identity, if provided # # @return [String, nil] optional :gender, String, nil?: true - # @!attribute hire_date - # Employee's hire date with the employer - # - # @return [Date, nil] - optional :hire_date, Date, nil?: true - # @!attribute reference_id # Partner-assigned reference ID for the employee # @@ -100,6 +94,25 @@ class Employee < VitableConnect::Internal::Type::BaseModel # @return [String] required :id, String + # @!attribute classification_effective_date + # Date the employee's current classification took effect + # + # @return [Date] + required :classification_effective_date, Date + + # @!attribute compensation_type + # - `Salary` - Salary + # - `Hourly` - Hourly + # + # @return [Symbol, VitableConnect::Models::Employee::CompensationType, nil] + required :compensation_type, enum: -> { VitableConnect::Employee::CompensationType }, nil?: true + + # @!attribute compensation_type_effective_date + # Date the employee's current compensation type took effect + # + # @return [Date] + required :compensation_type_effective_date, Date + # @!attribute member_id # Unique member identifier with 'mbr\_' prefix # @@ -112,19 +125,31 @@ class Employee < VitableConnect::Internal::Type::BaseModel # @return [String, nil] required :phone, String, nil?: true + # @!attribute start_date + # Employee's start date with the employer + # + # @return [Date] + required :start_date, Date + # @!attribute status # Employee status (active or terminated) # - # @return [String] - required :status, String + # @return [Symbol, VitableConnect::Models::Employee::Status] + required :status, enum: -> { VitableConnect::Employee::Status } end - # @!method initialize(id:, created_at:, date_of_birth:, deductions:, email:, first_name:, last_name:, member_id:, phone:, status:, updated_at:, address: nil, employee_class: nil, gender: nil, hire_date: nil, reference_id: nil, suffix: nil, termination_date: nil) + # @!method initialize(id:, classification_effective_date:, compensation_type:, compensation_type_effective_date:, created_at:, date_of_birth:, deductions:, email:, employee_class:, first_name:, last_name:, member_id:, phone:, start_date:, status:, updated_at:, address: nil, gender: nil, reference_id: nil, suffix: nil, termination_date: nil) # Some parameter documentations has been truncated, see # {VitableConnect::Models::Employee} for more details. # # @param id [String] Unique employee identifier with 'empl\_' prefix # + # @param classification_effective_date [Date] Date the employee's current classification took effect + # + # @param compensation_type [Symbol, VitableConnect::Models::Employee::CompensationType, nil] - `Salary` - Salary + # + # @param compensation_type_effective_date [Date] Date the employee's current compensation type took effect + # # @param created_at [Time] Timestamp when the employee was created # # @param date_of_birth [Date] Date of birth (YYYY-MM-DD) @@ -133,6 +158,8 @@ class Employee < VitableConnect::Internal::Type::BaseModel # # @param email [String] Email address # + # @param employee_class [Symbol, VitableConnect::Models::EmployeeClass] - `Full Time` - Full Time + # # @param first_name [String] Employee's legal first name # # @param last_name [String] Employee's legal last name @@ -141,24 +168,36 @@ class Employee < VitableConnect::Internal::Type::BaseModel # # @param phone [String, nil] Phone number (10-digit US domestic string) # - # @param status [String] Employee status (active or terminated) + # @param start_date [Date] Employee's start date with the employer + # + # @param status [Symbol, VitableConnect::Models::Employee::Status] Employee status (active or terminated) # # @param updated_at [Time] Timestamp when the employee was last updated # # @param address [VitableConnect::Models::Employee::Address, nil] Employee's residential address # - # @param employee_class [Symbol, VitableConnect::Models::EmployeeClass, nil] - `Full Time` - Full Time - # # @param gender [String, nil] Gender identity, if provided # - # @param hire_date [Date, nil] Employee's hire date with the employer - # # @param reference_id [String, nil] Partner-assigned reference ID for the employee # # @param suffix [String, nil] Name suffix (e.g., Jr., Sr., III) # # @param termination_date [Date, nil] Employee's termination date, if terminated + # - `Salary` - Salary + # - `Hourly` - Hourly + # + # @see VitableConnect::Models::Employee#compensation_type + module CompensationType + extend VitableConnect::Internal::Type::Enum + + SALARY = :Salary + HOURLY = :Hourly + + # @!method self.values + # @return [Array] + end + class Deduction < VitableConnect::Internal::Type::BaseModel # @!attribute benefit_name # Name of the benefit plan @@ -260,6 +299,19 @@ module TaxClassification end end + # Employee status (active or terminated) + # + # @see VitableConnect::Models::Employee#status + module Status + extend VitableConnect::Internal::Type::Enum + + ACTIVE = :active + TERMINATED = :terminated + + # @!method self.values + # @return [Array] + end + # @see VitableConnect::Models::Employee#address class Address < VitableConnect::Internal::Type::BaseModel # @!attribute address_line_1 diff --git a/lib/vitable_connect/models/type.rb b/lib/vitable_connect/models/type.rb deleted file mode 100644 index 7a9023c..0000000 --- a/lib/vitable_connect/models/type.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -module VitableConnect - module Models - # - `employer` - employer - # - `employee` - employee - module Type - extend VitableConnect::Internal::Type::Enum - - EMPLOYER = :employer - EMPLOYEE = :employee - - # @!method self.values - # @return [Array] - end - end -end diff --git a/lib/vitable_connect/models/webhook_event_list_params.rb b/lib/vitable_connect/models/webhook_event_list_params.rb index 03c01f2..6baa0f5 100644 --- a/lib/vitable_connect/models/webhook_event_list_params.rb +++ b/lib/vitable_connect/models/webhook_event_list_params.rb @@ -20,6 +20,7 @@ class WebhookEventListParams < VitableConnect::Internal::Type::BaseModel # @!attribute event_name # - `enrollment.accepted` - Enrollment Accepted # - `enrollment.terminated` - Enrollment Terminated + # - `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled # - `enrollment.elected` - Enrollment Elected # - `enrollment.granted` - Enrollment Granted # - `enrollment.waived` - Enrollment Waived @@ -82,6 +83,7 @@ class WebhookEventListParams < VitableConnect::Internal::Type::BaseModel # - `enrollment.accepted` - Enrollment Accepted # - `enrollment.terminated` - Enrollment Terminated + # - `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled # - `enrollment.elected` - Enrollment Elected # - `enrollment.granted` - Enrollment Granted # - `enrollment.waived` - Enrollment Waived @@ -95,6 +97,7 @@ module EventName ENROLLMENT_ACCEPTED = :"enrollment.accepted" ENROLLMENT_TERMINATED = :"enrollment.terminated" + ENROLLMENT_TERMINATION_RESCHEDULED = :"enrollment.termination_rescheduled" ENROLLMENT_ELECTED = :"enrollment.elected" ENROLLMENT_GRANTED = :"enrollment.granted" ENROLLMENT_WAIVED = :"enrollment.waived" diff --git a/lib/vitable_connect/resources/benefit_eligibility_policies.rb b/lib/vitable_connect/resources/benefit_eligibility_policies.rb deleted file mode 100644 index f3a9cf7..0000000 --- a/lib/vitable_connect/resources/benefit_eligibility_policies.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -module VitableConnect - module Resources - class BenefitEligibilityPolicies - # @api private - # - # @param client [VitableConnect::Client] - def initialize(client:) - @client = client - end - end - end -end diff --git a/lib/vitable_connect/resources/employees.rb b/lib/vitable_connect/resources/employees.rb index d4a3446..6304dde 100644 --- a/lib/vitable_connect/resources/employees.rb +++ b/lib/vitable_connect/resources/employees.rb @@ -4,9 +4,10 @@ module VitableConnect module Resources class Employees # Retrieves detailed information for a specific employee by ID. Returns employee - # details including personal information, employment status, and payroll - # deductions from the most recent statement period. Deductions reflect a snapshot - # of the current period and are replaced when a new statement is generated. + # details including personal information, employment status, classification and + # compensation-type effective dates, compensation type, and payroll deductions + # from the most recent statement period. Deductions reflect a snapshot of the + # current period and are replaced when a new statement is generated. # # @overload retrieve(employee_id, request_options: {}) # diff --git a/lib/vitable_connect/version.rb b/lib/vitable_connect/version.rb index 3a5b690..2d069ea 100644 --- a/lib/vitable_connect/version.rb +++ b/lib/vitable_connect/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module VitableConnect - VERSION = "0.5.0" + VERSION = "0.6.0" end diff --git a/rbi/vitable_connect/client.rbi b/rbi/vitable_connect/client.rbi index 6e33911..a72b5c0 100644 --- a/rbi/vitable_connect/client.rbi +++ b/rbi/vitable_connect/client.rbi @@ -28,9 +28,6 @@ module VitableConnect sig { returns(VitableConnect::Resources::Auth) } attr_reader :auth - sig { returns(VitableConnect::Resources::BenefitEligibilityPolicies) } - attr_reader :benefit_eligibility_policies - sig { returns(VitableConnect::Resources::Employees) } attr_reader :employees diff --git a/rbi/vitable_connect/models.rbi b/rbi/vitable_connect/models.rbi index 89652e4..e7b2cda 100644 --- a/rbi/vitable_connect/models.rbi +++ b/rbi/vitable_connect/models.rbi @@ -56,8 +56,6 @@ module VitableConnect PlanListParams = VitableConnect::Models::PlanListParams - Type = VitableConnect::Models::Type - WebhookEvent = VitableConnect::Models::WebhookEvent WebhookEventListDeliveriesParams = diff --git a/rbi/vitable_connect/models/auth_issue_access_token_params.rbi b/rbi/vitable_connect/models/auth_issue_access_token_params.rbi index 4a4dcde..04c52e9 100644 --- a/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +++ b/rbi/vitable_connect/models/auth_issue_access_token_params.rbi @@ -117,14 +117,20 @@ module VitableConnect # - `employer` - employer # - `employee` - employee - sig { returns(VitableConnect::Type::OrSymbol) } + sig do + returns( + VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::OrSymbol + ) + end attr_accessor :type # Optional entity to bind the token to for scoped access sig do - params(id: String, type: VitableConnect::Type::OrSymbol).returns( - T.attached_class - ) + params( + id: String, + type: + VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::OrSymbol + ).returns(T.attached_class) end def self.new( # Prefixed entity ID to bind the token to (empr*\* for employer, empl*\* for @@ -137,10 +143,52 @@ module VitableConnect end sig do - override.returns({ id: String, type: VitableConnect::Type::OrSymbol }) + override.returns( + { + id: String, + type: + VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::OrSymbol + } + ) end def to_hash end + + # - `employer` - employer + # - `employee` - employee + module Type + extend VitableConnect::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + EMPLOYER = + T.let( + :employer, + VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::TaggedSymbol + ) + EMPLOYEE = + T.let( + :employee, + VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + VitableConnect::AuthIssueAccessTokenParams::BoundEntity::Type::TaggedSymbol + ] + ) + end + def self.values + end + end end end end diff --git a/rbi/vitable_connect/models/auth_issue_access_token_response.rbi b/rbi/vitable_connect/models/auth_issue_access_token_response.rbi index 136a076..95143b8 100644 --- a/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +++ b/rbi/vitable_connect/models/auth_issue_access_token_response.rbi @@ -97,14 +97,20 @@ module VitableConnect # - `employer` - employer # - `employee` - employee - sig { returns(VitableConnect::Type::TaggedSymbol) } + sig do + returns( + VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol + ) + end attr_accessor :type # Entity the token is bound to, if any sig do - params(id: String, type: VitableConnect::Type::OrSymbol).returns( - T.attached_class - ) + params( + id: String, + type: + VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::OrSymbol + ).returns(T.attached_class) end def self.new( # Prefixed entity ID the token is bound to (empr*\* or empl*\*) @@ -117,11 +123,51 @@ module VitableConnect sig do override.returns( - { id: String, type: VitableConnect::Type::TaggedSymbol } + { + id: String, + type: + VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol + } ) end def to_hash end + + # - `employer` - employer + # - `employee` - employee + module Type + extend VitableConnect::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + EMPLOYER = + T.let( + :employer, + VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol + ) + EMPLOYEE = + T.let( + :employee, + VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::Type::TaggedSymbol + ] + ) + end + def self.values + end + end end end end diff --git a/rbi/vitable_connect/models/employee.rbi b/rbi/vitable_connect/models/employee.rbi index 1f53008..45a365a 100644 --- a/rbi/vitable_connect/models/employee.rbi +++ b/rbi/vitable_connect/models/employee.rbi @@ -25,6 +25,15 @@ module VitableConnect sig { returns(String) } attr_accessor :email + # - `Full Time` - Full Time + # - `Part Time` - Part Time + # - `Temporary` - Temporary + # - `Intern` - Intern + # - `Seasonal` - Seasonal + # - `Individual Contractor` - Individual Contractor + sig { returns(VitableConnect::EmployeeClass::TaggedSymbol) } + attr_accessor :employee_class + # Employee's legal first name sig { returns(String) } attr_accessor :first_name @@ -48,23 +57,10 @@ module VitableConnect end attr_writer :address - # - `Full Time` - Full Time - # - `Part Time` - Part Time - # - `Temporary` - Temporary - # - `Intern` - Intern - # - `Seasonal` - Seasonal - # - `Individual Contractor` - Individual Contractor - sig { returns(T.nilable(VitableConnect::EmployeeClass::TaggedSymbol)) } - attr_accessor :employee_class - # Gender identity, if provided sig { returns(T.nilable(String)) } attr_accessor :gender - # Employee's hire date with the employer - sig { returns(T.nilable(Date)) } - attr_accessor :hire_date - # Partner-assigned reference ID for the employee sig { returns(T.nilable(String)) } attr_accessor :reference_id @@ -81,6 +77,23 @@ module VitableConnect sig { returns(String) } attr_accessor :id + # Date the employee's current classification took effect + sig { returns(Date) } + attr_accessor :classification_effective_date + + # - `Salary` - Salary + # - `Hourly` - Hourly + sig do + returns( + T.nilable(VitableConnect::Employee::CompensationType::TaggedSymbol) + ) + end + attr_accessor :compensation_type + + # Date the employee's current compensation type took effect + sig { returns(Date) } + attr_accessor :compensation_type_effective_date + # Unique member identifier with 'mbr\_' prefix sig { returns(String) } attr_accessor :member_id @@ -89,27 +102,35 @@ module VitableConnect sig { returns(T.nilable(String)) } attr_accessor :phone + # Employee's start date with the employer + sig { returns(Date) } + attr_accessor :start_date + # Employee status (active or terminated) - sig { returns(String) } + sig { returns(VitableConnect::Employee::Status::TaggedSymbol) } attr_accessor :status sig do params( id: String, + classification_effective_date: Date, + compensation_type: + T.nilable(VitableConnect::Employee::CompensationType::OrSymbol), + compensation_type_effective_date: Date, created_at: Time, date_of_birth: Date, deductions: T::Array[VitableConnect::Employee::Deduction::OrHash], email: String, + employee_class: VitableConnect::EmployeeClass::OrSymbol, first_name: String, last_name: String, member_id: String, phone: T.nilable(String), - status: String, + start_date: Date, + status: VitableConnect::Employee::Status::OrSymbol, updated_at: Time, address: T.nilable(VitableConnect::Employee::Address::OrHash), - employee_class: T.nilable(VitableConnect::EmployeeClass::OrSymbol), gender: T.nilable(String), - hire_date: T.nilable(Date), reference_id: T.nilable(String), suffix: T.nilable(String), termination_date: T.nilable(Date) @@ -118,6 +139,13 @@ module VitableConnect def self.new( # Unique employee identifier with 'empl\_' prefix id:, + # Date the employee's current classification took effect + classification_effective_date:, + # - `Salary` - Salary + # - `Hourly` - Hourly + compensation_type:, + # Date the employee's current compensation type took effect + compensation_type_effective_date:, # Timestamp when the employee was created created_at:, # Date of birth (YYYY-MM-DD) @@ -127,6 +155,13 @@ module VitableConnect deductions:, # Email address email:, + # - `Full Time` - Full Time + # - `Part Time` - Part Time + # - `Temporary` - Temporary + # - `Intern` - Intern + # - `Seasonal` - Seasonal + # - `Individual Contractor` - Individual Contractor + employee_class:, # Employee's legal first name first_name:, # Employee's legal last name @@ -135,23 +170,16 @@ module VitableConnect member_id:, # Phone number (10-digit US domestic string) phone:, + # Employee's start date with the employer + start_date:, # Employee status (active or terminated) status:, # Timestamp when the employee was last updated updated_at:, # Employee's residential address address: nil, - # - `Full Time` - Full Time - # - `Part Time` - Part Time - # - `Temporary` - Temporary - # - `Intern` - Intern - # - `Seasonal` - Seasonal - # - `Individual Contractor` - Individual Contractor - employee_class: nil, # Gender identity, if provided gender: nil, - # Employee's hire date with the employer - hire_date: nil, # Partner-assigned reference ID for the employee reference_id: nil, # Name suffix (e.g., Jr., Sr., III) @@ -165,21 +193,26 @@ module VitableConnect override.returns( { id: String, + classification_effective_date: Date, + compensation_type: + T.nilable( + VitableConnect::Employee::CompensationType::TaggedSymbol + ), + compensation_type_effective_date: Date, created_at: Time, date_of_birth: Date, deductions: T::Array[VitableConnect::Employee::Deduction], email: String, + employee_class: VitableConnect::EmployeeClass::TaggedSymbol, first_name: String, last_name: String, member_id: String, phone: T.nilable(String), - status: String, + start_date: Date, + status: VitableConnect::Employee::Status::TaggedSymbol, updated_at: Time, address: T.nilable(VitableConnect::Employee::Address), - employee_class: - T.nilable(VitableConnect::EmployeeClass::TaggedSymbol), gender: T.nilable(String), - hire_date: T.nilable(Date), reference_id: T.nilable(String), suffix: T.nilable(String), termination_date: T.nilable(Date) @@ -189,6 +222,37 @@ module VitableConnect def to_hash end + # - `Salary` - Salary + # - `Hourly` - Hourly + module CompensationType + extend VitableConnect::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, VitableConnect::Employee::CompensationType) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + SALARY = + T.let( + :Salary, + VitableConnect::Employee::CompensationType::TaggedSymbol + ) + HOURLY = + T.let( + :Hourly, + VitableConnect::Employee::CompensationType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[VitableConnect::Employee::CompensationType::TaggedSymbol] + ) + end + def self.values + end + end + class Deduction < VitableConnect::Internal::Type::BaseModel OrHash = T.type_alias do @@ -378,6 +442,27 @@ module VitableConnect end end + # Employee status (active or terminated) + module Status + extend VitableConnect::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, VitableConnect::Employee::Status) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACTIVE = T.let(:active, VitableConnect::Employee::Status::TaggedSymbol) + TERMINATED = + T.let(:terminated, VitableConnect::Employee::Status::TaggedSymbol) + + sig do + override.returns( + T::Array[VitableConnect::Employee::Status::TaggedSymbol] + ) + end + def self.values + end + end + class Address < VitableConnect::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/vitable_connect/models/type.rbi b/rbi/vitable_connect/models/type.rbi deleted file mode 100644 index f6bc410..0000000 --- a/rbi/vitable_connect/models/type.rbi +++ /dev/null @@ -1,21 +0,0 @@ -# typed: strong - -module VitableConnect - module Models - # - `employer` - employer - # - `employee` - employee - module Type - extend VitableConnect::Internal::Type::Enum - - TaggedSymbol = T.type_alias { T.all(Symbol, VitableConnect::Type) } - OrSymbol = T.type_alias { T.any(Symbol, String) } - - EMPLOYER = T.let(:employer, VitableConnect::Type::TaggedSymbol) - EMPLOYEE = T.let(:employee, VitableConnect::Type::TaggedSymbol) - - sig { override.returns(T::Array[VitableConnect::Type::TaggedSymbol]) } - def self.values - end - end - end -end diff --git a/rbi/vitable_connect/models/webhook_event_list_params.rbi b/rbi/vitable_connect/models/webhook_event_list_params.rbi index 23feb89..ca2f45b 100644 --- a/rbi/vitable_connect/models/webhook_event_list_params.rbi +++ b/rbi/vitable_connect/models/webhook_event_list_params.rbi @@ -28,6 +28,7 @@ module VitableConnect # - `enrollment.accepted` - Enrollment Accepted # - `enrollment.terminated` - Enrollment Terminated + # - `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled # - `enrollment.elected` - Enrollment Elected # - `enrollment.granted` - Enrollment Granted # - `enrollment.waived` - Enrollment Waived @@ -113,6 +114,7 @@ module VitableConnect created_before: nil, # - `enrollment.accepted` - Enrollment Accepted # - `enrollment.terminated` - Enrollment Terminated + # - `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled # - `enrollment.elected` - Enrollment Elected # - `enrollment.granted` - Enrollment Granted # - `enrollment.waived` - Enrollment Waived @@ -159,6 +161,7 @@ module VitableConnect # - `enrollment.accepted` - Enrollment Accepted # - `enrollment.terminated` - Enrollment Terminated + # - `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled # - `enrollment.elected` - Enrollment Elected # - `enrollment.granted` - Enrollment Granted # - `enrollment.waived` - Enrollment Waived @@ -186,6 +189,11 @@ module VitableConnect :"enrollment.terminated", VitableConnect::WebhookEventListParams::EventName::TaggedSymbol ) + ENROLLMENT_TERMINATION_RESCHEDULED = + T.let( + :"enrollment.termination_rescheduled", + VitableConnect::WebhookEventListParams::EventName::TaggedSymbol + ) ENROLLMENT_ELECTED = T.let( :"enrollment.elected", diff --git a/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi b/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi deleted file mode 100644 index 0a54032..0000000 --- a/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +++ /dev/null @@ -1,12 +0,0 @@ -# typed: strong - -module VitableConnect - module Resources - class BenefitEligibilityPolicies - # @api private - sig { params(client: VitableConnect::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end -end diff --git a/rbi/vitable_connect/resources/employees.rbi b/rbi/vitable_connect/resources/employees.rbi index de327c8..2118093 100644 --- a/rbi/vitable_connect/resources/employees.rbi +++ b/rbi/vitable_connect/resources/employees.rbi @@ -4,9 +4,10 @@ module VitableConnect module Resources class Employees # Retrieves detailed information for a specific employee by ID. Returns employee - # details including personal information, employment status, and payroll - # deductions from the most recent statement period. Deductions reflect a snapshot - # of the current period and are replaced when a new statement is generated. + # details including personal information, employment status, classification and + # compensation-type effective dates, compensation type, and payroll deductions + # from the most recent statement period. Deductions reflect a snapshot of the + # current period and are replaced when a new statement is generated. sig do params( employee_id: String, diff --git a/rbi/vitable_connect/resources/webhook_events.rbi b/rbi/vitable_connect/resources/webhook_events.rbi index b0e3ad7..a5f19fe 100644 --- a/rbi/vitable_connect/resources/webhook_events.rbi +++ b/rbi/vitable_connect/resources/webhook_events.rbi @@ -37,6 +37,7 @@ module VitableConnect created_before: nil, # - `enrollment.accepted` - Enrollment Accepted # - `enrollment.terminated` - Enrollment Terminated + # - `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled # - `enrollment.elected` - Enrollment Elected # - `enrollment.granted` - Enrollment Granted # - `enrollment.waived` - Enrollment Waived diff --git a/sig/vitable_connect/client.rbs b/sig/vitable_connect/client.rbs index 4d38a6e..cb93397 100644 --- a/sig/vitable_connect/client.rbs +++ b/sig/vitable_connect/client.rbs @@ -17,8 +17,6 @@ module VitableConnect attr_reader auth: VitableConnect::Resources::Auth - attr_reader benefit_eligibility_policies: VitableConnect::Resources::BenefitEligibilityPolicies - attr_reader employees: VitableConnect::Resources::Employees attr_reader employers: VitableConnect::Resources::Employers diff --git a/sig/vitable_connect/models.rbs b/sig/vitable_connect/models.rbs index 90a83d5..4cf4b46 100644 --- a/sig/vitable_connect/models.rbs +++ b/sig/vitable_connect/models.rbs @@ -49,8 +49,6 @@ module VitableConnect class PlanListParams = VitableConnect::Models::PlanListParams - module Type = VitableConnect::Models::Type - class WebhookEvent = VitableConnect::Models::WebhookEvent class WebhookEventListDeliveriesParams = VitableConnect::Models::WebhookEventListDeliveriesParams diff --git a/sig/vitable_connect/models/auth_issue_access_token_params.rbs b/sig/vitable_connect/models/auth_issue_access_token_params.rbs index 3760616..3d4b0d6 100644 --- a/sig/vitable_connect/models/auth_issue_access_token_params.rbs +++ b/sig/vitable_connect/models/auth_issue_access_token_params.rbs @@ -37,19 +37,37 @@ module VitableConnect def self?.values: -> ::Array[VitableConnect::Models::AuthIssueAccessTokenParams::grant_type] end - type bound_entity = { id: String, type: VitableConnect::Models::type_ } + type bound_entity = + { + id: String, + type: VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity::type_ + } class BoundEntity < VitableConnect::Internal::Type::BaseModel attr_accessor id: String - attr_accessor type: VitableConnect::Models::type_ + attr_accessor type: VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity::type_ def initialize: ( id: String, - type: VitableConnect::Models::type_ + type: VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity::type_ ) -> void - def to_hash: -> { id: String, type: VitableConnect::Models::type_ } + def to_hash: -> { + id: String, + type: VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity::type_ + } + + type type_ = :employer | :employee + + module Type + extend VitableConnect::Internal::Type::Enum + + EMPLOYER: :employer + EMPLOYEE: :employee + + def self?.values: -> ::Array[VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity::type_] + end end end end diff --git a/sig/vitable_connect/models/auth_issue_access_token_response.rbs b/sig/vitable_connect/models/auth_issue_access_token_response.rbs index 4a0245f..2688bba 100644 --- a/sig/vitable_connect/models/auth_issue_access_token_response.rbs +++ b/sig/vitable_connect/models/auth_issue_access_token_response.rbs @@ -31,19 +31,37 @@ module VitableConnect bound_entity: VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity? } - type bound_entity = { id: String, type: VitableConnect::Models::type_ } + type bound_entity = + { + id: String, + type: VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::type_ + } class BoundEntity < VitableConnect::Internal::Type::BaseModel attr_accessor id: String - attr_accessor type: VitableConnect::Models::type_ + attr_accessor type: VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::type_ def initialize: ( id: String, - type: VitableConnect::Models::type_ + type: VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::type_ ) -> void - def to_hash: -> { id: String, type: VitableConnect::Models::type_ } + def to_hash: -> { + id: String, + type: VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::type_ + } + + type type_ = :employer | :employee + + module Type + extend VitableConnect::Internal::Type::Enum + + EMPLOYER: :employer + EMPLOYEE: :employee + + def self?.values: -> ::Array[VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity::type_] + end end end end diff --git a/sig/vitable_connect/models/employee.rbs b/sig/vitable_connect/models/employee.rbs index 9339c3a..7b8c6f0 100644 --- a/sig/vitable_connect/models/employee.rbs +++ b/sig/vitable_connect/models/employee.rbs @@ -3,20 +3,23 @@ module VitableConnect type employee = { id: String, + classification_effective_date: Date, + compensation_type: VitableConnect::Models::Employee::compensation_type?, + compensation_type_effective_date: Date, created_at: Time, date_of_birth: Date, deductions: ::Array[VitableConnect::Employee::Deduction], email: String, + employee_class: VitableConnect::Models::employee_class, first_name: String, last_name: String, member_id: String, phone: String?, - status: String, + start_date: Date, + status: VitableConnect::Models::Employee::status, updated_at: Time, address: VitableConnect::Employee::Address?, - employee_class: VitableConnect::Models::employee_class?, gender: String?, - hire_date: Date?, reference_id: String?, suffix: String?, termination_date: Date? @@ -31,6 +34,8 @@ module VitableConnect attr_accessor email: String + attr_accessor employee_class: VitableConnect::Models::employee_class + attr_accessor first_name: String attr_accessor last_name: String @@ -39,12 +44,8 @@ module VitableConnect attr_accessor address: VitableConnect::Employee::Address? - attr_accessor employee_class: VitableConnect::Models::employee_class? - attr_accessor gender: String? - attr_accessor hire_date: Date? - attr_accessor reference_id: String? attr_accessor suffix: String? @@ -53,28 +54,39 @@ module VitableConnect attr_accessor id: String + attr_accessor classification_effective_date: Date + + attr_accessor compensation_type: VitableConnect::Models::Employee::compensation_type? + + attr_accessor compensation_type_effective_date: Date + attr_accessor member_id: String attr_accessor phone: String? - attr_accessor status: String + attr_accessor start_date: Date + + attr_accessor status: VitableConnect::Models::Employee::status def initialize: ( id: String, + classification_effective_date: Date, + compensation_type: VitableConnect::Models::Employee::compensation_type?, + compensation_type_effective_date: Date, created_at: Time, date_of_birth: Date, deductions: ::Array[VitableConnect::Employee::Deduction], email: String, + employee_class: VitableConnect::Models::employee_class, first_name: String, last_name: String, member_id: String, phone: String?, - status: String, + start_date: Date, + status: VitableConnect::Models::Employee::status, updated_at: Time, ?address: VitableConnect::Employee::Address?, - ?employee_class: VitableConnect::Models::employee_class?, ?gender: String?, - ?hire_date: Date?, ?reference_id: String?, ?suffix: String?, ?termination_date: Date? @@ -82,25 +94,39 @@ module VitableConnect def to_hash: -> { id: String, + classification_effective_date: Date, + compensation_type: VitableConnect::Models::Employee::compensation_type?, + compensation_type_effective_date: Date, created_at: Time, date_of_birth: Date, deductions: ::Array[VitableConnect::Employee::Deduction], email: String, + employee_class: VitableConnect::Models::employee_class, first_name: String, last_name: String, member_id: String, phone: String?, - status: String, + start_date: Date, + status: VitableConnect::Models::Employee::status, updated_at: Time, address: VitableConnect::Employee::Address?, - employee_class: VitableConnect::Models::employee_class?, gender: String?, - hire_date: Date?, reference_id: String?, suffix: String?, termination_date: Date? } + type compensation_type = :Salary | :Hourly + + module CompensationType + extend VitableConnect::Internal::Type::Enum + + SALARY: :Salary + HOURLY: :Hourly + + def self?.values: -> ::Array[VitableConnect::Models::Employee::compensation_type] + end + type deduction = { benefit_name: String, @@ -173,6 +199,17 @@ module VitableConnect end end + type status = :active | :terminated + + module Status + extend VitableConnect::Internal::Type::Enum + + ACTIVE: :active + TERMINATED: :terminated + + def self?.values: -> ::Array[VitableConnect::Models::Employee::status] + end + type address = { :address_line_1 => String, diff --git a/sig/vitable_connect/models/type.rbs b/sig/vitable_connect/models/type.rbs deleted file mode 100644 index 4e20c3a..0000000 --- a/sig/vitable_connect/models/type.rbs +++ /dev/null @@ -1,14 +0,0 @@ -module VitableConnect - module Models - type type_ = :employer | :employee - - module Type - extend VitableConnect::Internal::Type::Enum - - EMPLOYER: :employer - EMPLOYEE: :employee - - def self?.values: -> ::Array[VitableConnect::Models::type_] - end - end -end diff --git a/sig/vitable_connect/models/webhook_event_list_params.rbs b/sig/vitable_connect/models/webhook_event_list_params.rbs index cd0ed2f..3ef4e4f 100644 --- a/sig/vitable_connect/models/webhook_event_list_params.rbs +++ b/sig/vitable_connect/models/webhook_event_list_params.rbs @@ -73,6 +73,7 @@ module VitableConnect type event_name = :"enrollment.accepted" | :"enrollment.terminated" + | :"enrollment.termination_rescheduled" | :"enrollment.elected" | :"enrollment.granted" | :"enrollment.waived" @@ -87,6 +88,7 @@ module VitableConnect ENROLLMENT_ACCEPTED: :"enrollment.accepted" ENROLLMENT_TERMINATED: :"enrollment.terminated" + ENROLLMENT_TERMINATION_RESCHEDULED: :"enrollment.termination_rescheduled" ENROLLMENT_ELECTED: :"enrollment.elected" ENROLLMENT_GRANTED: :"enrollment.granted" ENROLLMENT_WAIVED: :"enrollment.waived" diff --git a/sig/vitable_connect/resources/benefit_eligibility_policies.rbs b/sig/vitable_connect/resources/benefit_eligibility_policies.rbs deleted file mode 100644 index ba814e1..0000000 --- a/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +++ /dev/null @@ -1,7 +0,0 @@ -module VitableConnect - module Resources - class BenefitEligibilityPolicies - def initialize: (client: VitableConnect::Client) -> void - end - end -end diff --git a/test/vitable_connect/resources/benefit_eligibility_policies_test.rb b/test/vitable_connect/resources/benefit_eligibility_policies_test.rb deleted file mode 100644 index 365e455..0000000 --- a/test/vitable_connect/resources/benefit_eligibility_policies_test.rb +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -require_relative "../test_helper" - -class VitableConnect::Test::Resources::BenefitEligibilityPoliciesTest < VitableConnect::Test::ResourceTest -end diff --git a/test/vitable_connect/resources/employers_test.rb b/test/vitable_connect/resources/employers_test.rb index bf54010..03f383c 100644 --- a/test/vitable_connect/resources/employers_test.rb +++ b/test/vitable_connect/resources/employers_test.rb @@ -95,20 +95,23 @@ def test_list_employees assert_pattern do row => { id: String, + classification_effective_date: Date, + compensation_type: VitableConnect::Employee::CompensationType | nil, + compensation_type_effective_date: Date, created_at: Time, date_of_birth: Date, deductions: ^(VitableConnect::Internal::Type::ArrayOf[VitableConnect::Employee::Deduction]), email: String, + employee_class: VitableConnect::EmployeeClass, first_name: String, last_name: String, member_id: String, phone: String | nil, - status: String, + start_date: Date, + status: VitableConnect::Employee::Status, updated_at: Time, address: VitableConnect::Employee::Address | nil, - employee_class: VitableConnect::EmployeeClass | nil, gender: String | nil, - hire_date: Date | nil, reference_id: String | nil, suffix: String | nil, termination_date: Date | nil