Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/vitable-connect-ruby' && '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.pull_request.head.repo.fork) &&
(github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@v6
- name: Set up Ruby
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.0"
".": "0.2.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 14
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/vitable%2Fvitable-connect-96179d55665afbff5aca73845920de0597dfcc151a97fabf93a4cc818d7859eb.yml
openapi_spec_hash: 4eb9796fe4adb7074b6df7ffdc6caa8d
config_hash: 5c13804b8ff0767820e2d2422eaafa84
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/vitable%2Fvitable-connect-e61b9afbfd2525af28aea98d7b106979d1fa2e15af61a2a14d129d64ed6a0a77.yml
openapi_spec_hash: 0ff58ff57f78739499e3781e6bf00ba1
config_hash: d2ce0848d5b4f2e1461c01f6eafd9b19
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.2.0 (2026-03-25)

Full Changelog: [v0.1.0...v0.2.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.1.0...v0.2.0)

### Features

* **api:** api update ([f919311](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/f91931100038a62655c5e06eaa86271babc56d7a))


### Chores

* **ci:** skip lint on metadata-only changes ([f190ebf](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/f190ebfc6a6fb2885813ca931618c615b815d9c5))

## 0.1.0 (2026-03-24)

Full Changelog: [v0.0.1...v0.1.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.0.1...v0.1.0)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
vitable-connect (0.1.0)
vitable-connect (0.2.0)
cgi
connection_pool

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "vitable-connect", "~> 0.1.0"
gem "vitable-connect", "~> 0.2.0"
```

<!-- x-release-please-end -->
Expand Down
103 changes: 102 additions & 1 deletion lib/vitable_connect/models/employee.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ class Employee < VitableConnect::Internal::Type::BaseModel
# @return [Date]
required :date_of_birth, Date

# @!attribute deductions
# Payroll deductions from the most recent statement period. Replaced when a new
# statement is generated.
#
# @return [Array<VitableConnect::Models::Employee::Deduction>]
required :deductions, -> { VitableConnect::Internal::Type::ArrayOf[VitableConnect::Employee::Deduction] }

# @!attribute email
# Email address
#
Expand Down Expand Up @@ -119,7 +126,7 @@ class Employee < VitableConnect::Internal::Type::BaseModel
required :status, String
end

# @!method initialize(id:, created_at:, date_of_birth:, email:, enrollments:, first_name:, last_name:, member_id:, status:, updated_at:, address: nil, employee_class: nil, gender: nil, hire_date: nil, phone: nil, reference_id: nil, suffix: nil, termination_date: nil)
# @!method initialize(id:, created_at:, date_of_birth:, deductions:, email:, enrollments:, first_name:, last_name:, member_id:, status:, updated_at:, address: nil, employee_class: nil, gender: nil, hire_date: nil, phone: nil, reference_id: nil, suffix: nil, termination_date: nil)
# Some parameter documentations has been truncated, see
# {VitableConnect::Models::Employee} for more details.
#
Expand All @@ -129,6 +136,8 @@ class Employee < VitableConnect::Internal::Type::BaseModel
#
# @param date_of_birth [Date] Date of birth (YYYY-MM-DD)
#
# @param deductions [Array<VitableConnect::Models::Employee::Deduction>] Payroll deductions from the most recent statement period. Replaced when a new st
#
# @param email [String] Email address
#
# @param enrollments [Array<VitableConnect::Models::Employee::Enrollment>] Benefit enrollments for this employee
Expand Down Expand Up @@ -159,6 +168,98 @@ class Employee < VitableConnect::Internal::Type::BaseModel
#
# @param termination_date [Date, nil] Employee's termination date, if terminated

class Deduction < VitableConnect::Internal::Type::BaseModel
# @!attribute benefit_name
# Name of the benefit plan
#
# @return [String]
required :benefit_name, String

# @!attribute deduction_amount_in_cents
# Employee deduction amount in cents
#
# @return [Integer]
required :deduction_amount_in_cents, Integer

# @!attribute deduction_category
# Deduction category (reserved for future use)
#
# @return [String, nil]
required :deduction_category, String, nil?: true

# @!attribute frequency
# - `monthly` - Monthly
#
# @return [Symbol, VitableConnect::Models::Employee::Deduction::Frequency]
required :frequency, enum: -> { VitableConnect::Employee::Deduction::Frequency }

# @!attribute period_end_date
# Period end date (YYYY-MM-DD)
#
# @return [Date]
required :period_end_date, Date

# @!attribute period_start_date
# Period start date (YYYY-MM-DD)
#
# @return [Date]
required :period_start_date, Date

# @!attribute tax_classification
# - `Unknown` - Unknown
# - `Pre-tax` - Pre Tax
# - `Post-tax` - Post Tax
#
# @return [Symbol, VitableConnect::Models::Employee::Deduction::TaxClassification]
required :tax_classification, enum: -> { VitableConnect::Employee::Deduction::TaxClassification }

# @!method initialize(benefit_name:, deduction_amount_in_cents:, deduction_category:, frequency:, period_end_date:, period_start_date:, tax_classification:)
# Some parameter documentations has been truncated, see
# {VitableConnect::Models::Employee::Deduction} for more details.
#
# @param benefit_name [String] Name of the benefit plan
#
# @param deduction_amount_in_cents [Integer] Employee deduction amount in cents
#
# @param deduction_category [String, nil] Deduction category (reserved for future use)
#
# @param frequency [Symbol, VitableConnect::Models::Employee::Deduction::Frequency] - `monthly` - Monthly
#
# @param period_end_date [Date] Period end date (YYYY-MM-DD)
#
# @param period_start_date [Date] Period start date (YYYY-MM-DD)
#
# @param tax_classification [Symbol, VitableConnect::Models::Employee::Deduction::TaxClassification] - `Unknown` - Unknown

# - `monthly` - Monthly
#
# @see VitableConnect::Models::Employee::Deduction#frequency
module Frequency
extend VitableConnect::Internal::Type::Enum

MONTHLY = :monthly

# @!method self.values
# @return [Array<Symbol>]
end

# - `Unknown` - Unknown
# - `Pre-tax` - Pre Tax
# - `Post-tax` - Post Tax
#
# @see VitableConnect::Models::Employee::Deduction#tax_classification
module TaxClassification
extend VitableConnect::Internal::Type::Enum

UNKNOWN = :Unknown
PRE_TAX = :"Pre-tax"
POST_TAX = :"Post-tax"

# @!method self.values
# @return [Array<Symbol>]
end
end

class Enrollment < VitableConnect::Internal::Type::BaseModel
# @!attribute status
# - `pending` - Pending
Expand Down
6 changes: 3 additions & 3 deletions lib/vitable_connect/models/webhook_event_list_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ class WebhookEventListParams < VitableConnect::Internal::Type::BaseModel
# - `employee.eligibility_granted` - Employee Eligibility Granted
# - `employee.eligibility_terminated` - Employee Eligibility Terminated
# - `employee.deactivated` - Employee Deactivated
# - `payroll_deduction.created` - Payroll Deduction Created
# - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
# - `employee.deduction_created` - Employee Deduction Created
#
# @return [Symbol, VitableConnect::Models::WebhookEventListParams::EventName, nil]
optional :event_name, enum: -> { VitableConnect::WebhookEventListParams::EventName }
Expand Down Expand Up @@ -90,8 +90,8 @@ class WebhookEventListParams < VitableConnect::Internal::Type::BaseModel
# - `employee.eligibility_granted` - Employee Eligibility Granted
# - `employee.eligibility_terminated` - Employee Eligibility Terminated
# - `employee.deactivated` - Employee Deactivated
# - `payroll_deduction.created` - Payroll Deduction Created
# - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
# - `employee.deduction_created` - Employee Deduction Created
module EventName
extend VitableConnect::Internal::Type::Enum

Expand All @@ -104,8 +104,8 @@ module EventName
EMPLOYEE_ELIGIBILITY_GRANTED = :"employee.eligibility_granted"
EMPLOYEE_ELIGIBILITY_TERMINATED = :"employee.eligibility_terminated"
EMPLOYEE_DEACTIVATED = :"employee.deactivated"
PAYROLL_DEDUCTION_CREATED = :"payroll_deduction.created"
EMPLOYER_ELIGIBILITY_POLICY_CREATED = :"employer.eligibility_policy_created"
EMPLOYEE_DEDUCTION_CREATED = :"employee.deduction_created"

# @!method self.values
# @return [Array<Symbol>]
Expand Down
4 changes: 3 additions & 1 deletion lib/vitable_connect/resources/employees.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ module VitableConnect
module Resources
class Employees
# Retrieves detailed information for a specific employee by ID. Returns employee
# details including personal information and employment status.
# 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.
#
# @overload retrieve(employee_id, request_options: {})
#
Expand Down
4 changes: 3 additions & 1 deletion lib/vitable_connect/resources/employers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,9 @@ def create_benefit_eligibility_policy(employer_id, params)
end

# Retrieves a paginated list of all employees for a specific employer. Results are
# paginated using page and limit parameters.
# paginated using page and limit parameters. Each employee includes payroll
# deductions from the most recent statement period. When a new deduction statement
# is generated, previous period deductions are replaced.
#
# @overload list_employees(employer_id, limit: nil, page: nil, request_options: {})
#
Expand Down
2 changes: 1 addition & 1 deletion lib/vitable_connect/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module VitableConnect
VERSION = "0.1.0"
VERSION = "0.2.0"
end
Loading