trinsic_api 3.1.0.pre.preview1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/docs/AgeOverOutput.md +20 -0
  3. data/docs/AppleWalletProviderOutput.md +2 -0
  4. data/docs/EudiAgeVerificationCredential.md +22 -0
  5. data/docs/EudiPidCredential.md +70 -0
  6. data/docs/FranceIdentiteProviderOutput.md +4 -0
  7. data/docs/GoogleWalletIdPassCredential.md +40 -0
  8. data/docs/GoogleWalletProviderOutput.md +4 -0
  9. data/docs/Iso180132BiometricDataBlockProduct.md +20 -0
  10. data/docs/Iso180132BiometricGroupTemplate.md +18 -0
  11. data/docs/Iso180132BiometricTemplate.md +24 -0
  12. data/docs/Iso180132BiometricTemplateHeader.md +36 -0
  13. data/docs/Iso180132BiometricValidityPeriod.md +20 -0
  14. data/docs/Iso180135AamvaDomesticDrivingPrivilege.md +22 -0
  15. data/docs/Iso180135AamvaDomesticVehicleClass.md +24 -0
  16. data/docs/Iso180135AamvaDomesticVehicleEndorsement.md +20 -0
  17. data/docs/Iso180135AamvaDomesticVehicleRestriction.md +20 -0
  18. data/docs/Iso180135AamvaNamespaceOutput.md +70 -0
  19. data/docs/Iso180135AamvaWeightRange.md +20 -0
  20. data/docs/Iso180135DrivingPrivilege.md +24 -0
  21. data/docs/Iso180135DrivingPrivilegeCode.md +22 -0
  22. data/docs/Iso180135MobileDriversLicenseCredential.md +20 -0
  23. data/docs/Iso180135StandardNamespaceOutput.md +86 -0
  24. data/docs/SamsungWalletProviderOutput.md +2 -0
  25. data/lib/trinsic_api/models/age_over_output.rb +193 -0
  26. data/lib/trinsic_api/models/apple_wallet_provider_output.rb +12 -1
  27. data/lib/trinsic_api/models/eudi_age_verification_credential.rb +174 -0
  28. data/lib/trinsic_api/models/eudi_pid_credential.rb +438 -0
  29. data/lib/trinsic_api/models/france_identite_provider_output.rb +23 -1
  30. data/lib/trinsic_api/models/google_wallet_id_pass_credential.rb +273 -0
  31. data/lib/trinsic_api/models/google_wallet_provider_output.rb +23 -1
  32. data/lib/trinsic_api/models/iso180132_biometric_data_block_product.rb +193 -0
  33. data/lib/trinsic_api/models/iso180132_biometric_group_template.rb +168 -0
  34. data/lib/trinsic_api/models/iso180132_biometric_template.rb +231 -0
  35. data/lib/trinsic_api/models/iso180132_biometric_template_header.rb +297 -0
  36. data/lib/trinsic_api/models/iso180132_biometric_validity_period.rb +193 -0
  37. data/lib/trinsic_api/models/iso180135_aamva_domestic_driving_privilege.rb +176 -0
  38. data/lib/trinsic_api/models/iso180135_aamva_domestic_vehicle_class.rb +215 -0
  39. data/lib/trinsic_api/models/iso180135_aamva_domestic_vehicle_endorsement.rb +177 -0
  40. data/lib/trinsic_api/models/iso180135_aamva_domestic_vehicle_restriction.rb +177 -0
  41. data/lib/trinsic_api/models/iso180135_aamva_namespace_output.rb +438 -0
  42. data/lib/trinsic_api/models/iso180135_aamva_weight_range.rb +177 -0
  43. data/lib/trinsic_api/models/iso180135_driving_privilege.rb +201 -0
  44. data/lib/trinsic_api/models/iso180135_driving_privilege_code.rb +188 -0
  45. data/lib/trinsic_api/models/iso180135_mobile_drivers_license_credential.rb +161 -0
  46. data/lib/trinsic_api/models/iso180135_standard_namespace_output.rb +528 -0
  47. data/lib/trinsic_api/models/samsung_wallet_provider_output.rb +12 -1
  48. data/lib/trinsic_api/version.rb +1 -1
  49. data/lib/trinsic_api.rb +19 -0
  50. data/spec/models/age_over_output_spec.rb +42 -0
  51. data/spec/models/apple_wallet_provider_output_spec.rb +6 -0
  52. data/spec/models/eudi_age_verification_credential_spec.rb +48 -0
  53. data/spec/models/eudi_pid_credential_spec.rb +192 -0
  54. data/spec/models/france_identite_provider_output_spec.rb +12 -0
  55. data/spec/models/google_wallet_id_pass_credential_spec.rb +102 -0
  56. data/spec/models/google_wallet_provider_output_spec.rb +12 -0
  57. data/spec/models/iso180132_biometric_data_block_product_spec.rb +42 -0
  58. data/spec/models/iso180132_biometric_group_template_spec.rb +36 -0
  59. data/spec/models/iso180132_biometric_template_header_spec.rb +90 -0
  60. data/spec/models/iso180132_biometric_template_spec.rb +54 -0
  61. data/spec/models/iso180132_biometric_validity_period_spec.rb +42 -0
  62. data/spec/models/iso180135_aamva_domestic_driving_privilege_spec.rb +48 -0
  63. data/spec/models/iso180135_aamva_domestic_vehicle_class_spec.rb +54 -0
  64. data/spec/models/iso180135_aamva_domestic_vehicle_endorsement_spec.rb +42 -0
  65. data/spec/models/iso180135_aamva_domestic_vehicle_restriction_spec.rb +42 -0
  66. data/spec/models/iso180135_aamva_namespace_output_spec.rb +192 -0
  67. data/spec/models/iso180135_aamva_weight_range_spec.rb +42 -0
  68. data/spec/models/iso180135_driving_privilege_code_spec.rb +48 -0
  69. data/spec/models/iso180135_driving_privilege_spec.rb +54 -0
  70. data/spec/models/iso180135_mobile_drivers_license_credential_spec.rb +42 -0
  71. data/spec/models/iso180135_standard_namespace_output_spec.rb +240 -0
  72. data/spec/models/samsung_wallet_provider_output_spec.rb +6 -0
  73. metadata +78 -2
@@ -0,0 +1,438 @@
1
+ =begin
2
+ #Trinsic API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ # Fields from the AAMVA mDL namespace.
18
+ class Iso180135AamvaNamespaceOutput < ApiModelBase
19
+ # Domestic categories of vehicles, restrictions, and conditions, parsed per AAMVA Section 7.2.4.
20
+ attr_accessor :domestic_driving_privileges
21
+
22
+ # Name suffix of the individual that has been issued the credential.
23
+ attr_accessor :name_suffix
24
+
25
+ # Whether the individual is an organ donor.
26
+ attr_accessor :organ_donor
27
+
28
+ # Whether the individual is a veteran.
29
+ attr_accessor :veteran
30
+
31
+ # Indicates whether the family name has been truncated. Possible values: - 'T': Truncated - 'N': Not truncated - 'U': Unknown whether truncated
32
+ attr_accessor :family_name_truncation
33
+
34
+ # Indicates whether the given name has been truncated. Possible values: - 'T': Truncated - 'N': Not truncated - 'U': Unknown whether truncated
35
+ attr_accessor :given_name_truncation
36
+
37
+ # Other family name by which the individual is known.
38
+ attr_accessor :aka_family_name_v2
39
+
40
+ # Other given name by which the individual is known.
41
+ attr_accessor :aka_given_name_v2
42
+
43
+ # Other suffix by which the individual is known.
44
+ attr_accessor :aka_suffix
45
+
46
+ # Approximate weight range of the individual, in kilograms.
47
+ attr_accessor :weight_range
48
+
49
+ # AAMVA D20 race or ethnicity code of the individual.
50
+ attr_accessor :race_ethnicity
51
+
52
+ # The sex of the individual as an AAMVA-defined sex code. This is distinct from an ISO/IEC 5218 sex code in two ways: there is no \"Unknown\" value, and \"Not Applicable\" is replaced with \"Not Specified\". Possible values: - 1: Male - 2: Female - 9: Not Specified
53
+ attr_accessor :sex
54
+
55
+ # First name of the individual.
56
+ attr_accessor :first_name
57
+
58
+ # Middle name or names of the individual.
59
+ attr_accessor :middle_names
60
+
61
+ # Whether the first name has been truncated.
62
+ attr_accessor :first_name_truncation
63
+
64
+ # Whether the middle name has been truncated.
65
+ attr_accessor :middle_names_truncation
66
+
67
+ # Deprecated AAMVA EDL (Enhanced Driver's License) credential indicator. If present, indicates the type of the EDL credential. Possible values: 1: Driver's License 2: Identification Card
68
+ attr_accessor :edl_credential
69
+
70
+ # Whether the credential is an Enhanced Driver's License (EDL).
71
+ attr_accessor :edl_credential_v2
72
+
73
+ # Whether the credential is REAL ID compliant. `true` for fully compliant (\"F\"), `false` for non-compliant (\"N\"), `null` when not present.
74
+ attr_accessor :dhs_compliance
75
+
76
+ # Deprecated county code for the county where the individual lives.
77
+ attr_accessor :resident_county
78
+
79
+ # County code for the county where the individual lives.
80
+ attr_accessor :resident_county_v2
81
+
82
+ # Date on which the hazardous material endorsement expires.
83
+ attr_accessor :hazmat_endorsement_expiration_date
84
+
85
+ # Whether the credential is a Commercial Driver's License (CDL) per FMCSA.
86
+ attr_accessor :cdl_indicator
87
+
88
+ # Deprecated. Whether the CDL holder is non-domiciled in the issuing jurisdiction.
89
+ attr_accessor :cdl_non_domiciled
90
+
91
+ # Whether the CDL holder is non-domiciled in the issuing jurisdiction.
92
+ attr_accessor :cdl_non_domiciled_v2
93
+
94
+ # Text agreed on between the issuing authority and DHS for non-compliant credentials.
95
+ attr_accessor :dhs_compliance_text
96
+
97
+ # Whether the individual has DHS temporary lawful status.
98
+ attr_accessor :dhs_temporary_lawful_status
99
+
100
+ # Attribute mapping from ruby-style variable name to JSON key.
101
+ def self.attribute_map
102
+ {
103
+ :'domestic_driving_privileges' => :'domesticDrivingPrivileges',
104
+ :'name_suffix' => :'nameSuffix',
105
+ :'organ_donor' => :'organDonor',
106
+ :'veteran' => :'veteran',
107
+ :'family_name_truncation' => :'familyNameTruncation',
108
+ :'given_name_truncation' => :'givenNameTruncation',
109
+ :'aka_family_name_v2' => :'akaFamilyNameV2',
110
+ :'aka_given_name_v2' => :'akaGivenNameV2',
111
+ :'aka_suffix' => :'akaSuffix',
112
+ :'weight_range' => :'weightRange',
113
+ :'race_ethnicity' => :'raceEthnicity',
114
+ :'sex' => :'sex',
115
+ :'first_name' => :'firstName',
116
+ :'middle_names' => :'middleNames',
117
+ :'first_name_truncation' => :'firstNameTruncation',
118
+ :'middle_names_truncation' => :'middleNamesTruncation',
119
+ :'edl_credential' => :'edlCredential',
120
+ :'edl_credential_v2' => :'edlCredentialV2',
121
+ :'dhs_compliance' => :'dhsCompliance',
122
+ :'resident_county' => :'residentCounty',
123
+ :'resident_county_v2' => :'residentCountyV2',
124
+ :'hazmat_endorsement_expiration_date' => :'hazmatEndorsementExpirationDate',
125
+ :'cdl_indicator' => :'cdlIndicator',
126
+ :'cdl_non_domiciled' => :'cdlNonDomiciled',
127
+ :'cdl_non_domiciled_v2' => :'cdlNonDomiciledV2',
128
+ :'dhs_compliance_text' => :'dhsComplianceText',
129
+ :'dhs_temporary_lawful_status' => :'dhsTemporaryLawfulStatus'
130
+ }
131
+ end
132
+
133
+ # Returns attribute mapping this model knows about
134
+ def self.acceptable_attribute_map
135
+ attribute_map
136
+ end
137
+
138
+ # Returns all the JSON keys this model knows about
139
+ def self.acceptable_attributes
140
+ acceptable_attribute_map.values
141
+ end
142
+
143
+ # Attribute type mapping.
144
+ def self.openapi_types
145
+ {
146
+ :'domestic_driving_privileges' => :'Array<Iso180135AamvaDomesticDrivingPrivilege>',
147
+ :'name_suffix' => :'String',
148
+ :'organ_donor' => :'Boolean',
149
+ :'veteran' => :'Boolean',
150
+ :'family_name_truncation' => :'String',
151
+ :'given_name_truncation' => :'String',
152
+ :'aka_family_name_v2' => :'String',
153
+ :'aka_given_name_v2' => :'String',
154
+ :'aka_suffix' => :'String',
155
+ :'weight_range' => :'Iso180135AamvaWeightRange',
156
+ :'race_ethnicity' => :'String',
157
+ :'sex' => :'Integer',
158
+ :'first_name' => :'String',
159
+ :'middle_names' => :'String',
160
+ :'first_name_truncation' => :'String',
161
+ :'middle_names_truncation' => :'String',
162
+ :'edl_credential' => :'Integer',
163
+ :'edl_credential_v2' => :'Boolean',
164
+ :'dhs_compliance' => :'Boolean',
165
+ :'resident_county' => :'String',
166
+ :'resident_county_v2' => :'String',
167
+ :'hazmat_endorsement_expiration_date' => :'Date',
168
+ :'cdl_indicator' => :'Boolean',
169
+ :'cdl_non_domiciled' => :'Boolean',
170
+ :'cdl_non_domiciled_v2' => :'Boolean',
171
+ :'dhs_compliance_text' => :'String',
172
+ :'dhs_temporary_lawful_status' => :'Boolean'
173
+ }
174
+ end
175
+
176
+ # List of attributes with nullable: true
177
+ def self.openapi_nullable
178
+ Set.new([
179
+ :'domestic_driving_privileges',
180
+ :'name_suffix',
181
+ :'organ_donor',
182
+ :'veteran',
183
+ :'family_name_truncation',
184
+ :'given_name_truncation',
185
+ :'aka_family_name_v2',
186
+ :'aka_given_name_v2',
187
+ :'aka_suffix',
188
+ :'weight_range',
189
+ :'race_ethnicity',
190
+ :'sex',
191
+ :'first_name',
192
+ :'middle_names',
193
+ :'first_name_truncation',
194
+ :'middle_names_truncation',
195
+ :'edl_credential',
196
+ :'edl_credential_v2',
197
+ :'dhs_compliance',
198
+ :'resident_county',
199
+ :'resident_county_v2',
200
+ :'hazmat_endorsement_expiration_date',
201
+ :'cdl_indicator',
202
+ :'cdl_non_domiciled',
203
+ :'cdl_non_domiciled_v2',
204
+ :'dhs_compliance_text',
205
+ :'dhs_temporary_lawful_status'
206
+ ])
207
+ end
208
+
209
+ # Initializes the object
210
+ # @param [Hash] attributes Model attributes in the form of hash
211
+ def initialize(attributes = {})
212
+ if (!attributes.is_a?(Hash))
213
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::Iso180135AamvaNamespaceOutput` initialize method"
214
+ end
215
+
216
+ # check to see if the attribute exists and convert string to symbol for hash key
217
+ acceptable_attribute_map = self.class.acceptable_attribute_map
218
+ attributes = attributes.each_with_object({}) { |(k, v), h|
219
+ if (!acceptable_attribute_map.key?(k.to_sym))
220
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::Iso180135AamvaNamespaceOutput`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
221
+ end
222
+ h[k.to_sym] = v
223
+ }
224
+
225
+ if attributes.key?(:'domestic_driving_privileges')
226
+ if (value = attributes[:'domestic_driving_privileges']).is_a?(Array)
227
+ self.domestic_driving_privileges = value
228
+ end
229
+ end
230
+
231
+ if attributes.key?(:'name_suffix')
232
+ self.name_suffix = attributes[:'name_suffix']
233
+ end
234
+
235
+ if attributes.key?(:'organ_donor')
236
+ self.organ_donor = attributes[:'organ_donor']
237
+ end
238
+
239
+ if attributes.key?(:'veteran')
240
+ self.veteran = attributes[:'veteran']
241
+ end
242
+
243
+ if attributes.key?(:'family_name_truncation')
244
+ self.family_name_truncation = attributes[:'family_name_truncation']
245
+ end
246
+
247
+ if attributes.key?(:'given_name_truncation')
248
+ self.given_name_truncation = attributes[:'given_name_truncation']
249
+ end
250
+
251
+ if attributes.key?(:'aka_family_name_v2')
252
+ self.aka_family_name_v2 = attributes[:'aka_family_name_v2']
253
+ end
254
+
255
+ if attributes.key?(:'aka_given_name_v2')
256
+ self.aka_given_name_v2 = attributes[:'aka_given_name_v2']
257
+ end
258
+
259
+ if attributes.key?(:'aka_suffix')
260
+ self.aka_suffix = attributes[:'aka_suffix']
261
+ end
262
+
263
+ if attributes.key?(:'weight_range')
264
+ self.weight_range = attributes[:'weight_range']
265
+ end
266
+
267
+ if attributes.key?(:'race_ethnicity')
268
+ self.race_ethnicity = attributes[:'race_ethnicity']
269
+ end
270
+
271
+ if attributes.key?(:'sex')
272
+ self.sex = attributes[:'sex']
273
+ end
274
+
275
+ if attributes.key?(:'first_name')
276
+ self.first_name = attributes[:'first_name']
277
+ end
278
+
279
+ if attributes.key?(:'middle_names')
280
+ self.middle_names = attributes[:'middle_names']
281
+ end
282
+
283
+ if attributes.key?(:'first_name_truncation')
284
+ self.first_name_truncation = attributes[:'first_name_truncation']
285
+ end
286
+
287
+ if attributes.key?(:'middle_names_truncation')
288
+ self.middle_names_truncation = attributes[:'middle_names_truncation']
289
+ end
290
+
291
+ if attributes.key?(:'edl_credential')
292
+ self.edl_credential = attributes[:'edl_credential']
293
+ end
294
+
295
+ if attributes.key?(:'edl_credential_v2')
296
+ self.edl_credential_v2 = attributes[:'edl_credential_v2']
297
+ end
298
+
299
+ if attributes.key?(:'dhs_compliance')
300
+ self.dhs_compliance = attributes[:'dhs_compliance']
301
+ end
302
+
303
+ if attributes.key?(:'resident_county')
304
+ self.resident_county = attributes[:'resident_county']
305
+ end
306
+
307
+ if attributes.key?(:'resident_county_v2')
308
+ self.resident_county_v2 = attributes[:'resident_county_v2']
309
+ end
310
+
311
+ if attributes.key?(:'hazmat_endorsement_expiration_date')
312
+ self.hazmat_endorsement_expiration_date = attributes[:'hazmat_endorsement_expiration_date']
313
+ end
314
+
315
+ if attributes.key?(:'cdl_indicator')
316
+ self.cdl_indicator = attributes[:'cdl_indicator']
317
+ end
318
+
319
+ if attributes.key?(:'cdl_non_domiciled')
320
+ self.cdl_non_domiciled = attributes[:'cdl_non_domiciled']
321
+ end
322
+
323
+ if attributes.key?(:'cdl_non_domiciled_v2')
324
+ self.cdl_non_domiciled_v2 = attributes[:'cdl_non_domiciled_v2']
325
+ end
326
+
327
+ if attributes.key?(:'dhs_compliance_text')
328
+ self.dhs_compliance_text = attributes[:'dhs_compliance_text']
329
+ end
330
+
331
+ if attributes.key?(:'dhs_temporary_lawful_status')
332
+ self.dhs_temporary_lawful_status = attributes[:'dhs_temporary_lawful_status']
333
+ end
334
+ end
335
+
336
+ # Show invalid properties with the reasons. Usually used together with valid?
337
+ # @return Array for valid properties with the reasons
338
+ def list_invalid_properties
339
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
340
+ invalid_properties = Array.new
341
+ invalid_properties
342
+ end
343
+
344
+ # Check to see if the all the properties in the model are valid
345
+ # @return true if the model is valid
346
+ def valid?
347
+ warn '[DEPRECATED] the `valid?` method is obsolete'
348
+ true
349
+ end
350
+
351
+ # Checks equality by comparing each attribute.
352
+ # @param [Object] Object to be compared
353
+ def ==(o)
354
+ return true if self.equal?(o)
355
+ self.class == o.class &&
356
+ domestic_driving_privileges == o.domestic_driving_privileges &&
357
+ name_suffix == o.name_suffix &&
358
+ organ_donor == o.organ_donor &&
359
+ veteran == o.veteran &&
360
+ family_name_truncation == o.family_name_truncation &&
361
+ given_name_truncation == o.given_name_truncation &&
362
+ aka_family_name_v2 == o.aka_family_name_v2 &&
363
+ aka_given_name_v2 == o.aka_given_name_v2 &&
364
+ aka_suffix == o.aka_suffix &&
365
+ weight_range == o.weight_range &&
366
+ race_ethnicity == o.race_ethnicity &&
367
+ sex == o.sex &&
368
+ first_name == o.first_name &&
369
+ middle_names == o.middle_names &&
370
+ first_name_truncation == o.first_name_truncation &&
371
+ middle_names_truncation == o.middle_names_truncation &&
372
+ edl_credential == o.edl_credential &&
373
+ edl_credential_v2 == o.edl_credential_v2 &&
374
+ dhs_compliance == o.dhs_compliance &&
375
+ resident_county == o.resident_county &&
376
+ resident_county_v2 == o.resident_county_v2 &&
377
+ hazmat_endorsement_expiration_date == o.hazmat_endorsement_expiration_date &&
378
+ cdl_indicator == o.cdl_indicator &&
379
+ cdl_non_domiciled == o.cdl_non_domiciled &&
380
+ cdl_non_domiciled_v2 == o.cdl_non_domiciled_v2 &&
381
+ dhs_compliance_text == o.dhs_compliance_text &&
382
+ dhs_temporary_lawful_status == o.dhs_temporary_lawful_status
383
+ end
384
+
385
+ # @see the `==` method
386
+ # @param [Object] Object to be compared
387
+ def eql?(o)
388
+ self == o
389
+ end
390
+
391
+ # Calculates hash code according to all attributes.
392
+ # @return [Integer] Hash code
393
+ def hash
394
+ [domestic_driving_privileges, name_suffix, organ_donor, veteran, family_name_truncation, given_name_truncation, aka_family_name_v2, aka_given_name_v2, aka_suffix, weight_range, race_ethnicity, sex, first_name, middle_names, first_name_truncation, middle_names_truncation, edl_credential, edl_credential_v2, dhs_compliance, resident_county, resident_county_v2, hazmat_endorsement_expiration_date, cdl_indicator, cdl_non_domiciled, cdl_non_domiciled_v2, dhs_compliance_text, dhs_temporary_lawful_status].hash
395
+ end
396
+
397
+ # Builds the object from hash
398
+ # @param [Hash] attributes Model attributes in the form of hash
399
+ # @return [Object] Returns the model itself
400
+ def self.build_from_hash(attributes)
401
+ return nil unless attributes.is_a?(Hash)
402
+ attributes = attributes.transform_keys(&:to_sym)
403
+ transformed_hash = {}
404
+ openapi_types.each_pair do |key, type|
405
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
406
+ transformed_hash["#{key}"] = nil
407
+ elsif type =~ /\AArray<(.*)>/i
408
+ # check to ensure the input is an array given that the attribute
409
+ # is documented as an array but the input is not
410
+ if attributes[attribute_map[key]].is_a?(Array)
411
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
412
+ end
413
+ elsif !attributes[attribute_map[key]].nil?
414
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
415
+ end
416
+ end
417
+ new(transformed_hash)
418
+ end
419
+
420
+ # Returns the object in the form of hash
421
+ # @return [Hash] Returns the object in the form of hash
422
+ def to_hash
423
+ hash = {}
424
+ self.class.attribute_map.each_pair do |attr, param|
425
+ value = self.send(attr)
426
+ if value.nil?
427
+ is_nullable = self.class.openapi_nullable.include?(attr)
428
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
429
+ end
430
+
431
+ hash[param] = _to_hash(value)
432
+ end
433
+ hash
434
+ end
435
+
436
+ end
437
+
438
+ end
@@ -0,0 +1,177 @@
1
+ =begin
2
+ #Trinsic API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ # AAMVA approximate weight range, expressed in kilograms.
18
+ class Iso180135AamvaWeightRange < ApiModelBase
19
+ # Minimum weight in the range, in kilograms.
20
+ attr_accessor :min_kilograms
21
+
22
+ # Maximum weight in the range, in kilograms. If null, the maximum weight has no limit.
23
+ attr_accessor :max_kilograms
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'min_kilograms' => :'minKilograms',
29
+ :'max_kilograms' => :'maxKilograms'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'min_kilograms' => :'Integer',
47
+ :'max_kilograms' => :'Integer'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ :'max_kilograms'
55
+ ])
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param [Hash] attributes Model attributes in the form of hash
60
+ def initialize(attributes = {})
61
+ if (!attributes.is_a?(Hash))
62
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::Iso180135AamvaWeightRange` initialize method"
63
+ end
64
+
65
+ # check to see if the attribute exists and convert string to symbol for hash key
66
+ acceptable_attribute_map = self.class.acceptable_attribute_map
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!acceptable_attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::Iso180135AamvaWeightRange`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'min_kilograms')
75
+ self.min_kilograms = attributes[:'min_kilograms']
76
+ else
77
+ self.min_kilograms = nil
78
+ end
79
+
80
+ if attributes.key?(:'max_kilograms')
81
+ self.max_kilograms = attributes[:'max_kilograms']
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ if @min_kilograms.nil?
91
+ invalid_properties.push('invalid value for "min_kilograms", min_kilograms cannot be nil.')
92
+ end
93
+
94
+ invalid_properties
95
+ end
96
+
97
+ # Check to see if the all the properties in the model are valid
98
+ # @return true if the model is valid
99
+ def valid?
100
+ warn '[DEPRECATED] the `valid?` method is obsolete'
101
+ return false if @min_kilograms.nil?
102
+ true
103
+ end
104
+
105
+ # Custom attribute writer method with validation
106
+ # @param [Object] min_kilograms Value to be assigned
107
+ def min_kilograms=(min_kilograms)
108
+ if min_kilograms.nil?
109
+ fail ArgumentError, 'min_kilograms cannot be nil'
110
+ end
111
+
112
+ @min_kilograms = min_kilograms
113
+ end
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param [Object] Object to be compared
117
+ def ==(o)
118
+ return true if self.equal?(o)
119
+ self.class == o.class &&
120
+ min_kilograms == o.min_kilograms &&
121
+ max_kilograms == o.max_kilograms
122
+ end
123
+
124
+ # @see the `==` method
125
+ # @param [Object] Object to be compared
126
+ def eql?(o)
127
+ self == o
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Integer] Hash code
132
+ def hash
133
+ [min_kilograms, max_kilograms].hash
134
+ end
135
+
136
+ # Builds the object from hash
137
+ # @param [Hash] attributes Model attributes in the form of hash
138
+ # @return [Object] Returns the model itself
139
+ def self.build_from_hash(attributes)
140
+ return nil unless attributes.is_a?(Hash)
141
+ attributes = attributes.transform_keys(&:to_sym)
142
+ transformed_hash = {}
143
+ openapi_types.each_pair do |key, type|
144
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
145
+ transformed_hash["#{key}"] = nil
146
+ elsif type =~ /\AArray<(.*)>/i
147
+ # check to ensure the input is an array given that the attribute
148
+ # is documented as an array but the input is not
149
+ if attributes[attribute_map[key]].is_a?(Array)
150
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
151
+ end
152
+ elsif !attributes[attribute_map[key]].nil?
153
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
154
+ end
155
+ end
156
+ new(transformed_hash)
157
+ end
158
+
159
+ # Returns the object in the form of hash
160
+ # @return [Hash] Returns the object in the form of hash
161
+ def to_hash
162
+ hash = {}
163
+ self.class.attribute_map.each_pair do |attr, param|
164
+ value = self.send(attr)
165
+ if value.nil?
166
+ is_nullable = self.class.openapi_nullable.include?(attr)
167
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
168
+ end
169
+
170
+ hash[param] = _to_hash(value)
171
+ end
172
+ hash
173
+ end
174
+
175
+ end
176
+
177
+ end