Class: Gusto::ExternalPayrolls::ExternalPayroll

Inherits:
Object
  • Object
show all
Defined in:
lib/fern_gusto/external_payrolls/types/external_payroll.rb

Overview

The representation of an external payroll.

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uuid:, company_uuid: OMIT, check_date: OMIT, payment_period_start_date: OMIT, payment_period_end_date: OMIT, status: OMIT, external_payroll_items: OMIT, applicable_earnings: OMIT, applicable_benefits: OMIT, applicable_taxes: OMIT, metadata: OMIT, additional_properties: nil) ⇒ Gusto::ExternalPayrolls::ExternalPayroll

Parameters:



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 64

def initialize(uuid:, company_uuid: OMIT, check_date: OMIT, payment_period_start_date: OMIT, payment_period_end_date: OMIT, status: OMIT, external_payroll_items: OMIT, applicable_earnings: OMIT, applicable_benefits: OMIT, applicable_taxes: OMIT, metadata: OMIT, additional_properties: nil)
  @uuid = uuid
  @company_uuid = company_uuid if company_uuid != OMIT
  @check_date = check_date if check_date != OMIT
  @payment_period_start_date = payment_period_start_date if payment_period_start_date != OMIT
  @payment_period_end_date = payment_period_end_date if payment_period_end_date != OMIT
  @status = status if status != OMIT
  @external_payroll_items = external_payroll_items if external_payroll_items != OMIT
  @applicable_earnings = applicable_earnings if applicable_earnings != OMIT
  @applicable_benefits = applicable_benefits if applicable_benefits != OMIT
  @applicable_taxes = applicable_taxes if applicable_taxes != OMIT
  @metadata =  if  != OMIT
  @additional_properties = additional_properties
  @_field_set = { "uuid": uuid, "company_uuid": company_uuid, "check_date": check_date, "payment_period_start_date": payment_period_start_date, "payment_period_end_date": payment_period_end_date, "status": status, "external_payroll_items": external_payroll_items, "applicable_earnings": applicable_earnings, "applicable_benefits": applicable_benefits, "applicable_taxes": applicable_taxes, "metadata":  }.reject do | _k, v |
  v == OMIT
end
end

Instance Attribute Details

#additional_propertiesOpenStruct (readonly)

Returns Additional properties unmapped to the current class definition.

Returns:

  • (OpenStruct)

    Additional properties unmapped to the current class definition



41
42
43
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 41

def additional_properties
  @additional_properties
end

#applicable_benefitsArray<Gusto::ExternalPayrolls::ExternalPayrollApplicableBenefitsItem> (readonly)

Returns Applicable benefits based on company provisioning.

Returns:



35
36
37
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 35

def applicable_benefits
  @applicable_benefits
end

#applicable_earningsArray<Gusto::ExternalPayrolls::ExternalPayrollApplicableEarningsItem> (readonly)

Returns Applicable earnings based on company provisioning.

Returns:



33
34
35
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 33

def applicable_earnings
  @applicable_earnings
end

#applicable_taxesArray<Gusto::ExternalPayrolls::ExternalPayrollApplicableTaxesItem> (readonly)

Returns Applicable taxes based on company provisioning.

Returns:



37
38
39
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 37

def applicable_taxes
  @applicable_taxes
end

#check_dateString (readonly)

Returns External payroll’s check date.

Returns:

  • (String)

    External payroll’s check date.



20
21
22
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 20

def check_date
  @check_date
end

#company_uuidString (readonly)

Returns The UUID of the company.

Returns:

  • (String)

    The UUID of the company.



18
19
20
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 18

def company_uuid
  @company_uuid
end

#external_payroll_itemsArray<Gusto::ExternalPayrolls::ExternalPayrollExternalPayrollItemsItem> (readonly)

Returns External payroll items for employees.

Returns:



31
32
33
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 31

def external_payroll_items
  @external_payroll_items
end

#metadataGusto::ExternalPayrolls::ExternalPayrollMetadata (readonly)

Returns Stores metadata of the external payroll.

Returns:



39
40
41
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 39

def 
  @metadata
end

#payment_period_end_dateString (readonly)

Returns External payroll’s pay period end date.

Returns:

  • (String)

    External payroll’s pay period end date.



24
25
26
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 24

def payment_period_end_date
  @payment_period_end_date
end

#payment_period_start_dateString (readonly)

Returns External payroll’s pay period start date.

Returns:

  • (String)

    External payroll’s pay period start date.



22
23
24
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 22

def payment_period_start_date
  @payment_period_start_date
end

#statusObject (readonly)

edit an external payroll will be disabled.



29
30
31
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 29

def status
  @status
end

#uuidString (readonly)

Returns The UUID of the external payroll.

Returns:

  • (String)

    The UUID of the external payroll.



16
17
18
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 16

def uuid
  @uuid
end

Class Method Details

.from_json(json_object:) ⇒ Gusto::ExternalPayrolls::ExternalPayroll

Parameters:

  • json_object (String)

Returns:



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 85

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  uuid = parsed_json["uuid"]
  company_uuid = parsed_json["company_uuid"]
  check_date = parsed_json["check_date"]
  payment_period_start_date = parsed_json["payment_period_start_date"]
  payment_period_end_date = parsed_json["payment_period_end_date"]
  status = parsed_json["status"]
  external_payroll_items = parsed_json["external_payroll_items"]&.map do | item |
  item = item.to_json
  Gusto::ExternalPayrolls::ExternalPayrollExternalPayrollItemsItem.from_json(json_object: item)
end
  applicable_earnings = parsed_json["applicable_earnings"]&.map do | item |
  item = item.to_json
  Gusto::ExternalPayrolls::ExternalPayrollApplicableEarningsItem.from_json(json_object: item)
end
  applicable_benefits = parsed_json["applicable_benefits"]&.map do | item |
  item = item.to_json
  Gusto::ExternalPayrolls::ExternalPayrollApplicableBenefitsItem.from_json(json_object: item)
end
  applicable_taxes = parsed_json["applicable_taxes"]&.map do | item |
  item = item.to_json
  Gusto::ExternalPayrolls::ExternalPayrollApplicableTaxesItem.from_json(json_object: item)
end
  unless parsed_json["metadata"].nil?
     = parsed_json["metadata"].to_json
     = Gusto::ExternalPayrolls::ExternalPayrollMetadata.from_json(json_object: )
  else
     = nil
  end
  new(
    uuid: uuid,
    company_uuid: company_uuid,
    check_date: check_date,
    payment_period_start_date: payment_period_start_date,
    payment_period_end_date: payment_period_end_date,
    status: status,
    external_payroll_items: external_payroll_items,
    applicable_earnings: applicable_earnings,
    applicable_benefits: applicable_benefits,
    applicable_taxes: applicable_taxes,
    metadata: ,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void

Parameters:

  • obj (Object)

Returns:

  • (Void)


143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 143

def self.validate_raw(obj:)
  obj.uuid.is_a?(String) != false || raise("Passed value for field obj.uuid is not the expected type, validation failed.")
  obj.company_uuid&.is_a?(String) != false || raise("Passed value for field obj.company_uuid is not the expected type, validation failed.")
  obj.check_date&.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
  obj.payment_period_start_date&.is_a?(String) != false || raise("Passed value for field obj.payment_period_start_date is not the expected type, validation failed.")
  obj.payment_period_end_date&.is_a?(String) != false || raise("Passed value for field obj.payment_period_end_date is not the expected type, validation failed.")
  obj.status&.is_a?(Gusto::ExternalPayrolls::ExternalPayrollStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
  obj.external_payroll_items&.is_a?(Array) != false || raise("Passed value for field obj.external_payroll_items is not the expected type, validation failed.")
  obj.applicable_earnings&.is_a?(Array) != false || raise("Passed value for field obj.applicable_earnings is not the expected type, validation failed.")
  obj.applicable_benefits&.is_a?(Array) != false || raise("Passed value for field obj.applicable_benefits is not the expected type, validation failed.")
  obj.applicable_taxes&.is_a?(Array) != false || raise("Passed value for field obj.applicable_taxes is not the expected type, validation failed.")
  obj..nil? || Gusto::ExternalPayrolls::ExternalPayrollMetadata.validate_raw(obj: obj.)
end

Instance Method Details

#to_jsonString

Returns:

  • (String)


134
135
136
# File 'lib/fern_gusto/external_payrolls/types/external_payroll.rb', line 134

def to_json
  @_field_set&.to_json
end