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

Returns a new instance of Individuals.

Parameters:



101
102
103
# File 'lib/finch-api/resources/hris/benefits/individuals.rb', line 101

def initialize(client:)
  @client = client
end

Instance Method Details

#enroll_many(benefit_id, params = {}) ⇒ FinchAPI::SinglePage<FinchAPI::Models::HRIS::Benefits::EnrolledIndividual>

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)
  • params (FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyParams, Hash{Symbol=>Object}) (defaults to: {})

    .

    @option params [Array<FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyParams::Individual>] :individuals Array of the individual_id to enroll and a configuration object.

    @option params [FinchAPI::RequestOptions, HashSymbol=>Object, nil] :request_options

Returns:



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/finch-api/resources/hris/benefits/individuals.rb', line 22

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

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

Lists individuals currently enrolled in a given deduction.

Parameters:

Returns:



43
44
45
46
47
48
49
50
# File 'lib/finch-api/resources/hris/benefits/individuals.rb', line 43

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

#retrieve_many_benefits(benefit_id, params = {}) ⇒ FinchAPI::SinglePage<FinchAPI::Models::HRIS::Benefits::IndividualBenefit>

Get enrollment information for the given individuals.

Parameters:

  • benefit_id (String)
  • params (FinchAPI::Models::HRIS::Benefits::IndividualRetrieveManyBenefitsParams, Hash{Symbol=>Object}) (defaults to: {})

    .

    @option params [String] :individual_ids comma-delimited list of stable Finch uuids for each individual. If empty,

    defaults to all individuals
    

    @option params [FinchAPI::RequestOptions, HashSymbol=>Object, nil] :request_options

Returns:



64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/finch-api/resources/hris/benefits/individuals.rb', line 64

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

#unenroll_many(benefit_id, params = {}) ⇒ FinchAPI::SinglePage<FinchAPI::Models::HRIS::Benefits::UnenrolledIndividual>

Unenroll individuals from a deduction or contribution

Parameters:

Returns:



88
89
90
91
92
93
94
95
96
97
98
# File 'lib/finch-api/resources/hris/benefits/individuals.rb', line 88

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