Class: FinchAPI::Resources::HRIS::Benefits::Individuals

Inherits:
Object
  • Object
show all
Defined in:
lib/finch_api/resources/hris/benefits/individuals.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Individuals

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Individuals.

Parameters:



110
111
112
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 110

def initialize(client:)
  @client = client
end

Instance Method Details

#enroll_many(benefit_id, individuals: nil, request_options: {}) ⇒ FinchAPI::HRIS::Benefits::EnrolledIndividualBenefitResponse

Enroll an individual into a deduction or contribution. This is an overwrite operation. If the employee is already enrolled, the enrollment amounts will be adjusted. Making the same request multiple times will not create new enrollments, but will continue to set the state of the existing enrollment.

Parameters:

  • benefit_id (String)
  • individuals (Array<FinchAPI::HRIS::Benefits::IndividualEnrollManyParams::Individual>)

    Array of the individual_id to enroll and a configuration object.

  • request_options (FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (FinchAPI::HRIS::Benefits::EnrolledIndividualBenefitResponse)

See Also:



24
25
26
27
28
29
30
31
32
33
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 24

def enroll_many(benefit_id, params = {})
  parsed, options = FinchAPI::HRIS::Benefits::IndividualEnrollManyParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["employer/benefits/%1$s/individuals", benefit_id],
    body: parsed[:individuals],
    model: FinchAPI::HRIS::Benefits::EnrolledIndividualBenefitResponse,
    options: options
  )
end

#enrolled_ids(benefit_id, request_options: {}) ⇒ FinchAPI::Models::HRIS::Benefits::IndividualEnrolledIDsResponse

Lists individuals currently enrolled in a given deduction.

Parameters:

Returns:

See Also:



45
46
47
48
49
50
51
52
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 45

def enrolled_ids(benefit_id, params = {})
  @client.request(
    method: :get,
    path: ["employer/benefits/%1$s/enrolled", benefit_id],
    model: FinchAPI::Models::HRIS::Benefits::IndividualEnrolledIDsResponse,
    options: params[:request_options]
  )
end

#retrieve_many_benefits(benefit_id, individual_ids: nil, request_options: {}) ⇒ FinchAPI::Internal::SinglePage<FinchAPI::HRIS::Benefits::IndividualBenefit>

Some parameter documentations has been truncated, see Models::HRIS::Benefits::IndividualRetrieveManyBenefitsParams for more details.

Get enrollment information for the given individuals.

Parameters:

  • benefit_id (String)
  • individual_ids (String)

    comma-delimited list of stable Finch uuids for each individual. If empty, defaul

  • request_options (FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



71
72
73
74
75
76
77
78
79
80
81
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 71

def retrieve_many_benefits(benefit_id, params = {})
  parsed, options = FinchAPI::HRIS::Benefits::IndividualRetrieveManyBenefitsParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["employer/benefits/%1$s/individuals", benefit_id],
    query: parsed,
    page: FinchAPI::Internal::SinglePage,
    model: FinchAPI::HRIS::Benefits::IndividualBenefit,
    options: options
  )
end

#unenroll_many(benefit_id, individual_ids: nil, request_options: {}) ⇒ FinchAPI::HRIS::Benefits::UnenrolledIndividualBenefitResponse

Unenroll individuals from a deduction or contribution

Parameters:

  • benefit_id (String)
  • individual_ids (Array<String>)

    Array of individual_ids to unenroll.

  • request_options (FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (FinchAPI::HRIS::Benefits::UnenrolledIndividualBenefitResponse)

See Also:



96
97
98
99
100
101
102
103
104
105
# File 'lib/finch_api/resources/hris/benefits/individuals.rb', line 96

def unenroll_many(benefit_id, params = {})
  parsed, options = FinchAPI::HRIS::Benefits::IndividualUnenrollManyParams.dump_request(params)
  @client.request(
    method: :delete,
    path: ["employer/benefits/%1$s/individuals", benefit_id],
    body: parsed,
    model: FinchAPI::HRIS::Benefits::UnenrolledIndividualBenefitResponse,
    options: options
  )
end