Class: Gusto::TaxRequirementMetadata
- Inherits:
-
Object
- Object
- Gusto::TaxRequirementMetadata
- Defined in:
- lib/fern_gusto/types/tax_requirement_metadata.rb
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#mask ⇒ Object
readonly
-
mask: ‘%####-^^` supports values of `75544-AB` and `Z7654-HK`.
-
-
#options ⇒ Array<Gusto::TaxRequirementMetadataOptionsItem>
readonly
- for ‘select` or `radio`
-
An array of objects describing the possible values.
-
#prefix ⇒ Object
readonly
In that case the mask would be ‘##` and the prefix `XXXXX1234`.
-
#rate_type ⇒ Object
readonly
-
‘currency_per_hour`: A dollar amount per hour, e.g.
-
-
#risk_class_code ⇒ Object
readonly
being requested.
-
#risk_class_description ⇒ Object
readonly
the rate being requested.
-
#type ⇒ Object
readonly
‘risk_class_code`, `risk_class_description`, and `rate_type`.
-
#validation ⇒ Gusto::TaxRequirementMetadataValidation
readonly
- for ‘tax_rate`
-
Describes the validation required for the tax rate.
Class Method Summary collapse
Instance Method Summary collapse
- #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 constructor
- #to_json ⇒ String
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
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 = if != 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": , "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_properties ⇒ OpenStruct (readonly)
Returns 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 |
#mask ⇒ Object (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 |
#options ⇒ Array<Gusto::TaxRequirementMetadataOptionsItem> (readonly)
Returns [for ‘select` or `radio`] An array of objects describing the possible values.
29 30 31 |
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 29 def @options end |
#prefix ⇒ Object (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_type ⇒ Object (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_code ⇒ Object (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_description ⇒ Object (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 |
#type ⇒ Object (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 |
#validation ⇒ Gusto::TaxRequirementMetadataValidation (readonly)
Returns [for ‘tax_rate`] Describes the validation required for the tax rate.
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
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"] = 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: , 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
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.&.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_json ⇒ String
162 163 164 |
# File 'lib/fern_gusto/types/tax_requirement_metadata.rb', line 162 def to_json @_field_set&.to_json end |