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,231 @@
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
+ # A single biometric template per ISO 18013-2 Table C.12.
18
+ class Iso180132BiometricTemplate < ApiModelBase
19
+ # Header describing the biometric template.
20
+ attr_accessor :header
21
+
22
+ # The raw data block, in a biometric type- and format-specific encoding. For `face` and `signature_usual_mark`, this is a raw JPEG or JPEG2000 image. See ISO 18013-2 and 18013-5.
23
+ attr_accessor :data_block
24
+
25
+ # Whether the data block is encrypted.
26
+ attr_accessor :data_is_encrypted
27
+
28
+ # Optional Biometric Information Record payload, containing arbitrary domestic data.
29
+ attr_accessor :biometric_information_record_payload
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'header' => :'header',
35
+ :'data_block' => :'dataBlock',
36
+ :'data_is_encrypted' => :'dataIsEncrypted',
37
+ :'biometric_information_record_payload' => :'biometricInformationRecordPayload'
38
+ }
39
+ end
40
+
41
+ # Returns attribute mapping this model knows about
42
+ def self.acceptable_attribute_map
43
+ attribute_map
44
+ end
45
+
46
+ # Returns all the JSON keys this model knows about
47
+ def self.acceptable_attributes
48
+ acceptable_attribute_map.values
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ def self.openapi_types
53
+ {
54
+ :'header' => :'Iso180132BiometricTemplateHeader',
55
+ :'data_block' => :'String',
56
+ :'data_is_encrypted' => :'Boolean',
57
+ :'biometric_information_record_payload' => :'String'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ :'biometric_information_record_payload'
65
+ ])
66
+ end
67
+
68
+ # Initializes the object
69
+ # @param [Hash] attributes Model attributes in the form of hash
70
+ def initialize(attributes = {})
71
+ if (!attributes.is_a?(Hash))
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::Iso180132BiometricTemplate` initialize method"
73
+ end
74
+
75
+ # check to see if the attribute exists and convert string to symbol for hash key
76
+ acceptable_attribute_map = self.class.acceptable_attribute_map
77
+ attributes = attributes.each_with_object({}) { |(k, v), h|
78
+ if (!acceptable_attribute_map.key?(k.to_sym))
79
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::Iso180132BiometricTemplate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
80
+ end
81
+ h[k.to_sym] = v
82
+ }
83
+
84
+ if attributes.key?(:'header')
85
+ self.header = attributes[:'header']
86
+ else
87
+ self.header = nil
88
+ end
89
+
90
+ if attributes.key?(:'data_block')
91
+ self.data_block = attributes[:'data_block']
92
+ else
93
+ self.data_block = nil
94
+ end
95
+
96
+ if attributes.key?(:'data_is_encrypted')
97
+ self.data_is_encrypted = attributes[:'data_is_encrypted']
98
+ else
99
+ self.data_is_encrypted = nil
100
+ end
101
+
102
+ if attributes.key?(:'biometric_information_record_payload')
103
+ self.biometric_information_record_payload = attributes[:'biometric_information_record_payload']
104
+ end
105
+ end
106
+
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properties with the reasons
109
+ def list_invalid_properties
110
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
111
+ invalid_properties = Array.new
112
+ if @header.nil?
113
+ invalid_properties.push('invalid value for "header", header cannot be nil.')
114
+ end
115
+
116
+ if @data_block.nil?
117
+ invalid_properties.push('invalid value for "data_block", data_block cannot be nil.')
118
+ end
119
+
120
+ if @data_is_encrypted.nil?
121
+ invalid_properties.push('invalid value for "data_is_encrypted", data_is_encrypted cannot be nil.')
122
+ end
123
+
124
+ invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ warn '[DEPRECATED] the `valid?` method is obsolete'
131
+ return false if @header.nil?
132
+ return false if @data_block.nil?
133
+ return false if @data_is_encrypted.nil?
134
+ true
135
+ end
136
+
137
+ # Custom attribute writer method with validation
138
+ # @param [Object] header Value to be assigned
139
+ def header=(header)
140
+ if header.nil?
141
+ fail ArgumentError, 'header cannot be nil'
142
+ end
143
+
144
+ @header = header
145
+ end
146
+
147
+ # Custom attribute writer method with validation
148
+ # @param [Object] data_block Value to be assigned
149
+ def data_block=(data_block)
150
+ if data_block.nil?
151
+ fail ArgumentError, 'data_block cannot be nil'
152
+ end
153
+
154
+ @data_block = data_block
155
+ end
156
+
157
+ # Custom attribute writer method with validation
158
+ # @param [Object] data_is_encrypted Value to be assigned
159
+ def data_is_encrypted=(data_is_encrypted)
160
+ if data_is_encrypted.nil?
161
+ fail ArgumentError, 'data_is_encrypted cannot be nil'
162
+ end
163
+
164
+ @data_is_encrypted = data_is_encrypted
165
+ end
166
+
167
+ # Checks equality by comparing each attribute.
168
+ # @param [Object] Object to be compared
169
+ def ==(o)
170
+ return true if self.equal?(o)
171
+ self.class == o.class &&
172
+ header == o.header &&
173
+ data_block == o.data_block &&
174
+ data_is_encrypted == o.data_is_encrypted &&
175
+ biometric_information_record_payload == o.biometric_information_record_payload
176
+ end
177
+
178
+ # @see the `==` method
179
+ # @param [Object] Object to be compared
180
+ def eql?(o)
181
+ self == o
182
+ end
183
+
184
+ # Calculates hash code according to all attributes.
185
+ # @return [Integer] Hash code
186
+ def hash
187
+ [header, data_block, data_is_encrypted, biometric_information_record_payload].hash
188
+ end
189
+
190
+ # Builds the object from hash
191
+ # @param [Hash] attributes Model attributes in the form of hash
192
+ # @return [Object] Returns the model itself
193
+ def self.build_from_hash(attributes)
194
+ return nil unless attributes.is_a?(Hash)
195
+ attributes = attributes.transform_keys(&:to_sym)
196
+ transformed_hash = {}
197
+ openapi_types.each_pair do |key, type|
198
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
199
+ transformed_hash["#{key}"] = nil
200
+ elsif type =~ /\AArray<(.*)>/i
201
+ # check to ensure the input is an array given that the attribute
202
+ # is documented as an array but the input is not
203
+ if attributes[attribute_map[key]].is_a?(Array)
204
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
205
+ end
206
+ elsif !attributes[attribute_map[key]].nil?
207
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
208
+ end
209
+ end
210
+ new(transformed_hash)
211
+ end
212
+
213
+ # Returns the object in the form of hash
214
+ # @return [Hash] Returns the object in the form of hash
215
+ def to_hash
216
+ hash = {}
217
+ self.class.attribute_map.each_pair do |attr, param|
218
+ value = self.send(attr)
219
+ if value.nil?
220
+ is_nullable = self.class.openapi_nullable.include?(attr)
221
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
222
+ end
223
+
224
+ hash[param] = _to_hash(value)
225
+ end
226
+ hash
227
+ end
228
+
229
+ end
230
+
231
+ end
@@ -0,0 +1,297 @@
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
+ # Header fields of a biometric template per ISO 18013-2 Table C.12.
18
+ class Iso180132BiometricTemplateHeader < ApiModelBase
19
+ # Patron header version (defaults to 0x0101).
20
+ attr_accessor :patron_header_version
21
+
22
+ # Biometric type code per ISO 18013-2.
23
+ attr_accessor :biometric_type
24
+
25
+ # Biometric sub-type code per ISO 18013-2.
26
+ attr_accessor :biometric_sub_type
27
+
28
+ # Date and time the biometric template was created.
29
+ attr_accessor :creation_date
30
+
31
+ # Name of the Biometric Information Record (BIR) creator.
32
+ attr_accessor :biometric_information_record_creator
33
+
34
+ # Validity period of the biometric data block.
35
+ attr_accessor :validity_period
36
+
37
+ # Owner and type identifying the product that produced the biometric data block.
38
+ attr_accessor :biometric_data_block_product
39
+
40
+ # Format owner of the biometric data block.
41
+ attr_accessor :biometric_data_block_format_owner
42
+
43
+ # Format type of the biometric data block.
44
+ attr_accessor :biometric_data_block_format_type
45
+
46
+ # Index identifier of the Biometric Information Record, when present.
47
+ attr_accessor :biometric_information_record_index
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'patron_header_version' => :'patronHeaderVersion',
53
+ :'biometric_type' => :'biometricType',
54
+ :'biometric_sub_type' => :'biometricSubType',
55
+ :'creation_date' => :'creationDate',
56
+ :'biometric_information_record_creator' => :'biometricInformationRecordCreator',
57
+ :'validity_period' => :'validityPeriod',
58
+ :'biometric_data_block_product' => :'biometricDataBlockProduct',
59
+ :'biometric_data_block_format_owner' => :'biometricDataBlockFormatOwner',
60
+ :'biometric_data_block_format_type' => :'biometricDataBlockFormatType',
61
+ :'biometric_information_record_index' => :'biometricInformationRecordIndex'
62
+ }
63
+ end
64
+
65
+ # Returns attribute mapping this model knows about
66
+ def self.acceptable_attribute_map
67
+ attribute_map
68
+ end
69
+
70
+ # Returns all the JSON keys this model knows about
71
+ def self.acceptable_attributes
72
+ acceptable_attribute_map.values
73
+ end
74
+
75
+ # Attribute type mapping.
76
+ def self.openapi_types
77
+ {
78
+ :'patron_header_version' => :'Integer',
79
+ :'biometric_type' => :'Integer',
80
+ :'biometric_sub_type' => :'Integer',
81
+ :'creation_date' => :'Time',
82
+ :'biometric_information_record_creator' => :'String',
83
+ :'validity_period' => :'Iso180132BiometricValidityPeriod',
84
+ :'biometric_data_block_product' => :'Iso180132BiometricDataBlockProduct',
85
+ :'biometric_data_block_format_owner' => :'Integer',
86
+ :'biometric_data_block_format_type' => :'Integer',
87
+ :'biometric_information_record_index' => :'String'
88
+ }
89
+ end
90
+
91
+ # List of attributes with nullable: true
92
+ def self.openapi_nullable
93
+ Set.new([
94
+ :'biometric_type',
95
+ :'biometric_sub_type',
96
+ :'creation_date',
97
+ :'biometric_information_record_creator',
98
+ :'validity_period',
99
+ :'biometric_data_block_product',
100
+ :'biometric_information_record_index'
101
+ ])
102
+ end
103
+
104
+ # Initializes the object
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ def initialize(attributes = {})
107
+ if (!attributes.is_a?(Hash))
108
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::Iso180132BiometricTemplateHeader` initialize method"
109
+ end
110
+
111
+ # check to see if the attribute exists and convert string to symbol for hash key
112
+ acceptable_attribute_map = self.class.acceptable_attribute_map
113
+ attributes = attributes.each_with_object({}) { |(k, v), h|
114
+ if (!acceptable_attribute_map.key?(k.to_sym))
115
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::Iso180132BiometricTemplateHeader`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
116
+ end
117
+ h[k.to_sym] = v
118
+ }
119
+
120
+ if attributes.key?(:'patron_header_version')
121
+ self.patron_header_version = attributes[:'patron_header_version']
122
+ else
123
+ self.patron_header_version = nil
124
+ end
125
+
126
+ if attributes.key?(:'biometric_type')
127
+ self.biometric_type = attributes[:'biometric_type']
128
+ end
129
+
130
+ if attributes.key?(:'biometric_sub_type')
131
+ self.biometric_sub_type = attributes[:'biometric_sub_type']
132
+ end
133
+
134
+ if attributes.key?(:'creation_date')
135
+ self.creation_date = attributes[:'creation_date']
136
+ end
137
+
138
+ if attributes.key?(:'biometric_information_record_creator')
139
+ self.biometric_information_record_creator = attributes[:'biometric_information_record_creator']
140
+ end
141
+
142
+ if attributes.key?(:'validity_period')
143
+ self.validity_period = attributes[:'validity_period']
144
+ end
145
+
146
+ if attributes.key?(:'biometric_data_block_product')
147
+ self.biometric_data_block_product = attributes[:'biometric_data_block_product']
148
+ end
149
+
150
+ if attributes.key?(:'biometric_data_block_format_owner')
151
+ self.biometric_data_block_format_owner = attributes[:'biometric_data_block_format_owner']
152
+ else
153
+ self.biometric_data_block_format_owner = nil
154
+ end
155
+
156
+ if attributes.key?(:'biometric_data_block_format_type')
157
+ self.biometric_data_block_format_type = attributes[:'biometric_data_block_format_type']
158
+ else
159
+ self.biometric_data_block_format_type = nil
160
+ end
161
+
162
+ if attributes.key?(:'biometric_information_record_index')
163
+ self.biometric_information_record_index = attributes[:'biometric_information_record_index']
164
+ end
165
+ end
166
+
167
+ # Show invalid properties with the reasons. Usually used together with valid?
168
+ # @return Array for valid properties with the reasons
169
+ def list_invalid_properties
170
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
171
+ invalid_properties = Array.new
172
+ if @patron_header_version.nil?
173
+ invalid_properties.push('invalid value for "patron_header_version", patron_header_version cannot be nil.')
174
+ end
175
+
176
+ if @biometric_data_block_format_owner.nil?
177
+ invalid_properties.push('invalid value for "biometric_data_block_format_owner", biometric_data_block_format_owner cannot be nil.')
178
+ end
179
+
180
+ if @biometric_data_block_format_type.nil?
181
+ invalid_properties.push('invalid value for "biometric_data_block_format_type", biometric_data_block_format_type cannot be nil.')
182
+ end
183
+
184
+ invalid_properties
185
+ end
186
+
187
+ # Check to see if the all the properties in the model are valid
188
+ # @return true if the model is valid
189
+ def valid?
190
+ warn '[DEPRECATED] the `valid?` method is obsolete'
191
+ return false if @patron_header_version.nil?
192
+ return false if @biometric_data_block_format_owner.nil?
193
+ return false if @biometric_data_block_format_type.nil?
194
+ true
195
+ end
196
+
197
+ # Custom attribute writer method with validation
198
+ # @param [Object] patron_header_version Value to be assigned
199
+ def patron_header_version=(patron_header_version)
200
+ if patron_header_version.nil?
201
+ fail ArgumentError, 'patron_header_version cannot be nil'
202
+ end
203
+
204
+ @patron_header_version = patron_header_version
205
+ end
206
+
207
+ # Custom attribute writer method with validation
208
+ # @param [Object] biometric_data_block_format_owner Value to be assigned
209
+ def biometric_data_block_format_owner=(biometric_data_block_format_owner)
210
+ if biometric_data_block_format_owner.nil?
211
+ fail ArgumentError, 'biometric_data_block_format_owner cannot be nil'
212
+ end
213
+
214
+ @biometric_data_block_format_owner = biometric_data_block_format_owner
215
+ end
216
+
217
+ # Custom attribute writer method with validation
218
+ # @param [Object] biometric_data_block_format_type Value to be assigned
219
+ def biometric_data_block_format_type=(biometric_data_block_format_type)
220
+ if biometric_data_block_format_type.nil?
221
+ fail ArgumentError, 'biometric_data_block_format_type cannot be nil'
222
+ end
223
+
224
+ @biometric_data_block_format_type = biometric_data_block_format_type
225
+ end
226
+
227
+ # Checks equality by comparing each attribute.
228
+ # @param [Object] Object to be compared
229
+ def ==(o)
230
+ return true if self.equal?(o)
231
+ self.class == o.class &&
232
+ patron_header_version == o.patron_header_version &&
233
+ biometric_type == o.biometric_type &&
234
+ biometric_sub_type == o.biometric_sub_type &&
235
+ creation_date == o.creation_date &&
236
+ biometric_information_record_creator == o.biometric_information_record_creator &&
237
+ validity_period == o.validity_period &&
238
+ biometric_data_block_product == o.biometric_data_block_product &&
239
+ biometric_data_block_format_owner == o.biometric_data_block_format_owner &&
240
+ biometric_data_block_format_type == o.biometric_data_block_format_type &&
241
+ biometric_information_record_index == o.biometric_information_record_index
242
+ end
243
+
244
+ # @see the `==` method
245
+ # @param [Object] Object to be compared
246
+ def eql?(o)
247
+ self == o
248
+ end
249
+
250
+ # Calculates hash code according to all attributes.
251
+ # @return [Integer] Hash code
252
+ def hash
253
+ [patron_header_version, biometric_type, biometric_sub_type, creation_date, biometric_information_record_creator, validity_period, biometric_data_block_product, biometric_data_block_format_owner, biometric_data_block_format_type, biometric_information_record_index].hash
254
+ end
255
+
256
+ # Builds the object from hash
257
+ # @param [Hash] attributes Model attributes in the form of hash
258
+ # @return [Object] Returns the model itself
259
+ def self.build_from_hash(attributes)
260
+ return nil unless attributes.is_a?(Hash)
261
+ attributes = attributes.transform_keys(&:to_sym)
262
+ transformed_hash = {}
263
+ openapi_types.each_pair do |key, type|
264
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
265
+ transformed_hash["#{key}"] = nil
266
+ elsif type =~ /\AArray<(.*)>/i
267
+ # check to ensure the input is an array given that the attribute
268
+ # is documented as an array but the input is not
269
+ if attributes[attribute_map[key]].is_a?(Array)
270
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
271
+ end
272
+ elsif !attributes[attribute_map[key]].nil?
273
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
274
+ end
275
+ end
276
+ new(transformed_hash)
277
+ end
278
+
279
+ # Returns the object in the form of hash
280
+ # @return [Hash] Returns the object in the form of hash
281
+ def to_hash
282
+ hash = {}
283
+ self.class.attribute_map.each_pair do |attr, param|
284
+ value = self.send(attr)
285
+ if value.nil?
286
+ is_nullable = self.class.openapi_nullable.include?(attr)
287
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
288
+ end
289
+
290
+ hash[param] = _to_hash(value)
291
+ end
292
+ hash
293
+ end
294
+
295
+ end
296
+
297
+ end