Class: Gusto::TaxRequirementMetadata

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

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, options: OMIT, risk_class_code: OMIT, risk_class_description: OMIT, rate_type: OMIT, mask: OMIT, prefix: OMIT, validation: OMIT, additional_properties: nil) ⇒ Gusto::TaxRequirementMetadata

Parameters:

  • validation (Gusto::TaxRequirementMetadataValidation) (defaults to: OMIT)
    for ‘tax_rate`

    Describes the validation required for the tax rate

  • additional_properties (OpenStruct) (defaults to: nil)

    Additional properties unmapped to the current class definition



110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 110

def initialize(type:, options: OMIT, risk_class_code: OMIT, risk_class_description: OMIT, rate_type: OMIT, mask: OMIT, prefix: OMIT, validation: OMIT, additional_properties: nil)
  @type = type
  @options = options if options != OMIT
  @risk_class_code = risk_class_code if risk_class_code != OMIT
  @risk_class_description = risk_class_description if risk_class_description != OMIT
  @rate_type = rate_type if rate_type != OMIT
  @mask = mask if mask != OMIT
  @prefix = prefix if prefix != OMIT
  @validation = validation if validation != OMIT
  @additional_properties = additional_properties
  @_field_set = { "type": type, "options": options, "risk_class_code": risk_class_code, "risk_class_description": risk_class_description, "rate_type": rate_type, "mask": mask, "prefix": prefix, "validation": validation }.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



61
62
63
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 61

def additional_properties
  @additional_properties
end

#maskObject (readonly)

  • mask: ‘%####-^^` supports values of `75544-AB` and `Z7654-HK`



52
53
54
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 52

def mask
  @mask
end

#optionsArray<Gusto::TaxRequirementMetadataOptionsItem> (readonly)

Returns [for ‘select` or `radio`] An array of objects describing the possible values.

Returns:



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

def options
  @options
end

#prefixObject (readonly)

In that case the mask would be ‘##` and the prefix `XXXXX1234`.



57
58
59
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 57

def prefix
  @prefix
end

#rate_typeObject (readonly)

  • ‘currency_per_hour`: A dollar amount per hour, e.g. `3.24` for $3.24/hr



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

def rate_type
  @rate_type
end

#risk_class_codeObject (readonly)

being requested



32
33
34
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 32

def risk_class_code
  @risk_class_code
end

#risk_class_descriptionObject (readonly)

the rate being requested



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

def risk_class_description
  @risk_class_description
end

#typeObject (readonly)

‘risk_class_code`, `risk_class_description`, and `rate_type`



27
28
29
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 27

def type
  @type
end

#validationGusto::TaxRequirementMetadataValidation (readonly)

Returns [for ‘tax_rate`] Describes the validation required for the tax rate.

Returns:



59
60
61
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 59

def validation
  @validation
end

Class Method Details

.from_json(json_object:) ⇒ Gusto::TaxRequirementMetadata

Parameters:

  • json_object (String)

Returns:



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 128

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  type = parsed_json["type"]
  options = parsed_json["options"]&.map do | item |
  item = item.to_json
  Gusto::TaxRequirementMetadataOptionsItem.from_json(json_object: item)
end
  risk_class_code = parsed_json["risk_class_code"]
  risk_class_description = parsed_json["risk_class_description"]
  rate_type = parsed_json["rate_type"]
  mask = parsed_json["mask"]
  prefix = parsed_json["prefix"]
  unless parsed_json["validation"].nil?
    validation = parsed_json["validation"].to_json
    validation = Gusto::TaxRequirementMetadataValidation.from_json(json_object: validation)
  else
    validation = nil
  end
  new(
    type: type,
    options: options,
    risk_class_code: risk_class_code,
    risk_class_description: risk_class_description,
    rate_type: rate_type,
    mask: mask,
    prefix: prefix,
    validation: validation,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void

Parameters:

  • obj (Object)

Returns:

  • (Void)


171
172
173
174
175
176
177
178
179
180
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 171

def self.validate_raw(obj:)
  obj.type.is_a?(Gusto::TaxRequirementMetadataType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
  obj.options&.is_a?(Array) != false || raise("Passed value for field obj.options is not the expected type, validation failed.")
  obj.risk_class_code&.is_a?(String) != false || raise("Passed value for field obj.risk_class_code is not the expected type, validation failed.")
  obj.risk_class_description&.is_a?(String) != false || raise("Passed value for field obj.risk_class_description is not the expected type, validation failed.")
  obj.rate_type&.is_a?(Gusto::TaxRequirementMetadataRateType) != false || raise("Passed value for field obj.rate_type is not the expected type, validation failed.")
  obj.mask&.is_a?(String) != false || raise("Passed value for field obj.mask is not the expected type, validation failed.")
  obj.prefix&.is_a?(String) != false || raise("Passed value for field obj.prefix is not the expected type, validation failed.")
  obj.validation.nil? || Gusto::TaxRequirementMetadataValidation.validate_raw(obj: obj.validation)
end

Instance Method Details

#to_jsonString

Returns:

  • (String)


162
163
164
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 162

def to_json
  @_field_set&.to_json
end