cybersource_rest_client 0.0.67 → 0.0.68

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client/models/card_processing_config_common_acquirer.rb +257 -257
  3. data/lib/cybersource_rest_client/models/card_processing_config_common_merchant_descriptor_information.rb +279 -279
  4. data/lib/cybersource_rest_client/models/commerce_solutions_products_token_management_configuration_information_configurations.rb +200 -190
  5. data/lib/cybersource_rest_client/models/commerce_solutions_products_token_management_configuration_information_configurations_vault.rb +251 -0
  6. data/lib/cybersource_rest_client/models/e_check_config_common_internal_only_processors.rb +267 -263
  7. data/lib/cybersource_rest_client/models/e_check_config_common_processors.rb +273 -271
  8. data/lib/cybersource_rest_client/models/e_check_config_features_account_validation_service_internal_only_processors.rb +193 -191
  9. data/lib/cybersource_rest_client/models/e_check_config_features_account_validation_service_processors.rb +285 -283
  10. data/lib/cybersource_rest_client/models/flexv2sessions_fields.rb +199 -199
  11. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information.rb +209 -209
  12. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_amount_details.rb +199 -199
  13. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_amount_details_total_amount.rb +189 -189
  14. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_bill_to.rb +309 -309
  15. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_ship_to.rb +289 -289
  16. data/lib/cybersource_rest_client/models/flexv2sessions_fields_payment_information.rb +189 -189
  17. data/lib/cybersource_rest_client/models/flexv2sessions_fields_payment_information_card.rb +229 -229
  18. data/lib/cybersource_rest_client/models/generate_capture_context_request.rb +13 -13
  19. data/lib/cybersource_rest_client/models/generate_flex_api_capture_context_request.rb +189 -189
  20. data/lib/cybersource_rest_client/models/generate_unified_checkout_capture_context_request.rb +13 -13
  21. data/lib/cybersource_rest_client/models/inline_response_400_1_details.rb +199 -199
  22. data/lib/cybersource_rest_client/models/inline_response_400_2.rb +235 -235
  23. data/lib/cybersource_rest_client/models/inline_response_400_3.rb +235 -235
  24. data/lib/cybersource_rest_client/models/inline_response_400_4.rb +235 -235
  25. data/lib/cybersource_rest_client/models/inline_response_400_5.rb +258 -258
  26. data/lib/cybersource_rest_client/models/inline_response_400_5_fields.rb +213 -213
  27. data/lib/cybersource_rest_client/models/inline_response_400_6_details.rb +201 -201
  28. data/lib/cybersource_rest_client/models/patch_instrument_identifier_request.rb +313 -313
  29. data/lib/cybersource_rest_client/models/post_instrument_identifier_enrollment_request.rb +313 -313
  30. data/lib/cybersource_rest_client/models/post_instrument_identifier_request.rb +313 -313
  31. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response.rb +305 -305
  32. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +445 -428
  33. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +1 -1
  34. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options.rb +339 -411
  35. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options_bonuses.rb +213 -0
  36. data/lib/cybersource_rest_client/models/ptsv2payments_recipient_information.rb +383 -383
  37. data/lib/cybersource_rest_client/models/ptsv2payments_recurring_payment_information.rb +363 -363
  38. data/lib/cybersource_rest_client/models/ptsv2payments_sender_information.rb +298 -298
  39. data/lib/cybersource_rest_client/models/ptsv2paymentsid_client_reference_information.rb +256 -256
  40. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information.rb +219 -219
  41. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information.rb +219 -219
  42. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_customer.rb +222 -222
  43. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_customer.rb +205 -205
  44. data/lib/cybersource_rest_client/models/riskv1decisions_consumer_authentication_information.rb +795 -795
  45. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information_line_items.rb +305 -314
  46. data/lib/cybersource_rest_client/models/tms_embedded_instrument_identifier.rb +313 -313
  47. data/lib/cybersource_rest_client/models/tms_network_token_services.rb +239 -0
  48. data/lib/cybersource_rest_client/models/tms_network_token_services_american_express_token_service.rb +253 -0
  49. data/lib/cybersource_rest_client/models/tms_network_token_services_mastercard_digital_enablement_service.rb +227 -0
  50. data/lib/cybersource_rest_client/models/tms_network_token_services_notifications.rb +190 -0
  51. data/lib/cybersource_rest_client/models/tms_network_token_services_payment_credentials.rb +190 -0
  52. data/lib/cybersource_rest_client/models/tms_network_token_services_synchronous_provisioning.rb +190 -0
  53. data/lib/cybersource_rest_client/models/tms_network_token_services_visa_token_service.rb +244 -0
  54. data/lib/cybersource_rest_client/models/tms_nullify.rb +212 -0
  55. data/lib/cybersource_rest_client/models/tms_sensitive_privileges.rb +190 -0
  56. data/lib/cybersource_rest_client/models/tms_token_formats.rb +223 -0
  57. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card.rb +321 -321
  58. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_card.rb +225 -225
  59. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata.rb +189 -189
  60. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art.rb +250 -250
  61. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset.rb +200 -200
  62. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset__links.rb +189 -189
  63. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset__links_self.rb +190 -190
  64. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset.rb +200 -200
  65. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset__links.rb +189 -189
  66. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset__links_self.rb +190 -190
  67. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset.rb +200 -200
  68. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset__links.rb +189 -189
  69. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset__links_self.rb +190 -190
  70. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset.rb +200 -200
  71. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset__links.rb +189 -189
  72. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset__links_self.rb +190 -190
  73. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset.rb +200 -200
  74. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset__links.rb +189 -189
  75. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset__links_self.rb +190 -190
  76. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset.rb +200 -200
  77. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset__links.rb +189 -189
  78. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset__links_self.rb +190 -190
  79. data/lib/cybersource_rest_client/models/token_permissions.rb +223 -0
  80. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +326 -326
  81. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_japan_payment_options.rb +322 -247
  82. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processing_information.rb +241 -241
  83. data/lib/cybersource_rest_client.rb +13 -0
  84. metadata +16 -3
@@ -1,309 +1,309 @@
1
- =begin
2
- #CyberSource Merged Spec
3
-
4
- #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
-
6
- OpenAPI spec version: 0.0.1
7
-
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.38
10
- =end
11
-
12
- require 'date'
13
-
14
- module CyberSource
15
- class Flexv2sessionsFieldsOrderInformationBillTo
16
- attr_accessor :address1
17
-
18
- attr_accessor :address2
19
-
20
- attr_accessor :administrative_area
21
-
22
- attr_accessor :building_number
23
-
24
- attr_accessor :country
25
-
26
- attr_accessor :district
27
-
28
- attr_accessor :locality
29
-
30
- attr_accessor :postal_code
31
-
32
- attr_accessor :email
33
-
34
- attr_accessor :first_name
35
-
36
- attr_accessor :last_name
37
-
38
- attr_accessor :phone_number
39
-
40
- attr_accessor :company
41
-
42
- # Attribute mapping from ruby-style variable name to JSON key.
43
- def self.attribute_map
44
- {
45
- :'address1' => :'address1',
46
- :'address2' => :'address2',
47
- :'administrative_area' => :'administrativeArea',
48
- :'building_number' => :'buildingNumber',
49
- :'country' => :'country',
50
- :'district' => :'district',
51
- :'locality' => :'locality',
52
- :'postal_code' => :'postalCode',
53
- :'email' => :'email',
54
- :'first_name' => :'firstName',
55
- :'last_name' => :'lastName',
56
- :'phone_number' => :'phoneNumber',
57
- :'company' => :'company'
58
- }
59
- end
60
-
61
- # Attribute mapping from JSON key to ruby-style variable name.
62
- def self.json_map
63
- {
64
- :'address1' => :'address1',
65
- :'address2' => :'address2',
66
- :'administrative_area' => :'administrative_area',
67
- :'building_number' => :'building_number',
68
- :'country' => :'country',
69
- :'district' => :'district',
70
- :'locality' => :'locality',
71
- :'postal_code' => :'postal_code',
72
- :'email' => :'email',
73
- :'first_name' => :'first_name',
74
- :'last_name' => :'last_name',
75
- :'phone_number' => :'phone_number',
76
- :'company' => :'company'
77
- }
78
- end
79
-
80
- # Attribute type mapping.
81
- def self.swagger_types
82
- {
83
- :'address1' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
84
- :'address2' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
85
- :'administrative_area' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
86
- :'building_number' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
87
- :'country' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
88
- :'district' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
89
- :'locality' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
90
- :'postal_code' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
91
- :'email' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
92
- :'first_name' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
93
- :'last_name' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
94
- :'phone_number' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
95
- :'company' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount'
96
- }
97
- end
98
-
99
- # Initializes the object
100
- # @param [Hash] attributes Model attributes in the form of hash
101
- def initialize(attributes = {})
102
- return unless attributes.is_a?(Hash)
103
-
104
- # convert string to symbol for hash key
105
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
106
-
107
- if attributes.has_key?(:'address1')
108
- self.address1 = attributes[:'address1']
109
- end
110
-
111
- if attributes.has_key?(:'address2')
112
- self.address2 = attributes[:'address2']
113
- end
114
-
115
- if attributes.has_key?(:'administrativeArea')
116
- self.administrative_area = attributes[:'administrativeArea']
117
- end
118
-
119
- if attributes.has_key?(:'buildingNumber')
120
- self.building_number = attributes[:'buildingNumber']
121
- end
122
-
123
- if attributes.has_key?(:'country')
124
- self.country = attributes[:'country']
125
- end
126
-
127
- if attributes.has_key?(:'district')
128
- self.district = attributes[:'district']
129
- end
130
-
131
- if attributes.has_key?(:'locality')
132
- self.locality = attributes[:'locality']
133
- end
134
-
135
- if attributes.has_key?(:'postalCode')
136
- self.postal_code = attributes[:'postalCode']
137
- end
138
-
139
- if attributes.has_key?(:'email')
140
- self.email = attributes[:'email']
141
- end
142
-
143
- if attributes.has_key?(:'firstName')
144
- self.first_name = attributes[:'firstName']
145
- end
146
-
147
- if attributes.has_key?(:'lastName')
148
- self.last_name = attributes[:'lastName']
149
- end
150
-
151
- if attributes.has_key?(:'phoneNumber')
152
- self.phone_number = attributes[:'phoneNumber']
153
- end
154
-
155
- if attributes.has_key?(:'company')
156
- self.company = attributes[:'company']
157
- end
158
- end
159
-
160
- # Show invalid properties with the reasons. Usually used together with valid?
161
- # @return Array for valid properties with the reasons
162
- def list_invalid_properties
163
- invalid_properties = Array.new
164
- invalid_properties
165
- end
166
-
167
- # Check to see if the all the properties in the model are valid
168
- # @return true if the model is valid
169
- def valid?
170
- true
171
- end
172
-
173
- # Checks equality by comparing each attribute.
174
- # @param [Object] Object to be compared
175
- def ==(o)
176
- return true if self.equal?(o)
177
- self.class == o.class &&
178
- address1 == o.address1 &&
179
- address2 == o.address2 &&
180
- administrative_area == o.administrative_area &&
181
- building_number == o.building_number &&
182
- country == o.country &&
183
- district == o.district &&
184
- locality == o.locality &&
185
- postal_code == o.postal_code &&
186
- email == o.email &&
187
- first_name == o.first_name &&
188
- last_name == o.last_name &&
189
- phone_number == o.phone_number &&
190
- company == o.company
191
- end
192
-
193
- # @see the `==` method
194
- # @param [Object] Object to be compared
195
- def eql?(o)
196
- self == o
197
- end
198
-
199
- # Calculates hash code according to all attributes.
200
- # @return [Fixnum] Hash code
201
- def hash
202
- [address1, address2, administrative_area, building_number, country, district, locality, postal_code, email, first_name, last_name, phone_number, company].hash
203
- end
204
-
205
- # Builds the object from hash
206
- # @param [Hash] attributes Model attributes in the form of hash
207
- # @return [Object] Returns the model itself
208
- def build_from_hash(attributes)
209
- return nil unless attributes.is_a?(Hash)
210
- self.class.swagger_types.each_pair do |key, type|
211
- if type =~ /\AArray<(.*)>/i
212
- # check to ensure the input is an array given that the the attribute
213
- # is documented as an array but the input is not
214
- if attributes[self.class.attribute_map[key]].is_a?(Array)
215
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
216
- end
217
- elsif !attributes[self.class.attribute_map[key]].nil?
218
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
219
- end # or else data not found in attributes(hash), not an issue as the data can be optional
220
- end
221
-
222
- self
223
- end
224
-
225
- # Deserializes the data based on type
226
- # @param string type Data type
227
- # @param string value Value to be deserialized
228
- # @return [Object] Deserialized data
229
- def _deserialize(type, value)
230
- case type.to_sym
231
- when :DateTime
232
- DateTime.parse(value)
233
- when :Date
234
- Date.parse(value)
235
- when :String
236
- value.to_s
237
- when :Integer
238
- value.to_i
239
- when :Float
240
- value.to_f
241
- when :BOOLEAN
242
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
243
- true
244
- else
245
- false
246
- end
247
- when :Object
248
- # generic object (usually a Hash), return directly
249
- value
250
- when /\AArray<(?<inner_type>.+)>\z/
251
- inner_type = Regexp.last_match[:inner_type]
252
- value.map { |v| _deserialize(inner_type, v) }
253
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
254
- k_type = Regexp.last_match[:k_type]
255
- v_type = Regexp.last_match[:v_type]
256
- {}.tap do |hash|
257
- value.each do |k, v|
258
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
259
- end
260
- end
261
- else # model
262
- temp_model = CyberSource.const_get(type).new
263
- temp_model.build_from_hash(value)
264
- end
265
- end
266
-
267
- # Returns the string representation of the object
268
- # @return [String] String presentation of the object
269
- def to_s
270
- to_hash.to_s
271
- end
272
-
273
- # to_body is an alias to to_hash (backward compatibility)
274
- # @return [Hash] Returns the object in the form of hash
275
- def to_body
276
- to_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
- next if value.nil?
286
- hash[param] = _to_hash(value)
287
- end
288
- hash
289
- end
290
-
291
- # Outputs non-array value in the form of hash
292
- # For object, use to_hash. Otherwise, just return the value
293
- # @param [Object] value Any valid value
294
- # @return [Hash] Returns the value in the form of hash
295
- def _to_hash(value)
296
- if value.is_a?(Array)
297
- value.compact.map { |v| _to_hash(v) }
298
- elsif value.is_a?(Hash)
299
- {}.tap do |hash|
300
- value.each { |k, v| hash[k] = _to_hash(v) }
301
- end
302
- elsif value.respond_to? :to_hash
303
- value.to_hash
304
- else
305
- value
306
- end
307
- end
308
- end
309
- end
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.38
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module CyberSource
15
+ class Flexv2sessionsFieldsOrderInformationBillTo
16
+ attr_accessor :address1
17
+
18
+ attr_accessor :address2
19
+
20
+ attr_accessor :administrative_area
21
+
22
+ attr_accessor :building_number
23
+
24
+ attr_accessor :country
25
+
26
+ attr_accessor :district
27
+
28
+ attr_accessor :locality
29
+
30
+ attr_accessor :postal_code
31
+
32
+ attr_accessor :email
33
+
34
+ attr_accessor :first_name
35
+
36
+ attr_accessor :last_name
37
+
38
+ attr_accessor :phone_number
39
+
40
+ attr_accessor :company
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'address1' => :'address1',
46
+ :'address2' => :'address2',
47
+ :'administrative_area' => :'administrativeArea',
48
+ :'building_number' => :'buildingNumber',
49
+ :'country' => :'country',
50
+ :'district' => :'district',
51
+ :'locality' => :'locality',
52
+ :'postal_code' => :'postalCode',
53
+ :'email' => :'email',
54
+ :'first_name' => :'firstName',
55
+ :'last_name' => :'lastName',
56
+ :'phone_number' => :'phoneNumber',
57
+ :'company' => :'company'
58
+ }
59
+ end
60
+
61
+ # Attribute mapping from JSON key to ruby-style variable name.
62
+ def self.json_map
63
+ {
64
+ :'address1' => :'address1',
65
+ :'address2' => :'address2',
66
+ :'administrative_area' => :'administrative_area',
67
+ :'building_number' => :'building_number',
68
+ :'country' => :'country',
69
+ :'district' => :'district',
70
+ :'locality' => :'locality',
71
+ :'postal_code' => :'postal_code',
72
+ :'email' => :'email',
73
+ :'first_name' => :'first_name',
74
+ :'last_name' => :'last_name',
75
+ :'phone_number' => :'phone_number',
76
+ :'company' => :'company'
77
+ }
78
+ end
79
+
80
+ # Attribute type mapping.
81
+ def self.swagger_types
82
+ {
83
+ :'address1' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
84
+ :'address2' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
85
+ :'administrative_area' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
86
+ :'building_number' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
87
+ :'country' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
88
+ :'district' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
89
+ :'locality' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
90
+ :'postal_code' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
91
+ :'email' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
92
+ :'first_name' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
93
+ :'last_name' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
94
+ :'phone_number' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
95
+ :'company' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount'
96
+ }
97
+ end
98
+
99
+ # Initializes the object
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ def initialize(attributes = {})
102
+ return unless attributes.is_a?(Hash)
103
+
104
+ # convert string to symbol for hash key
105
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
106
+
107
+ if attributes.has_key?(:'address1')
108
+ self.address1 = attributes[:'address1']
109
+ end
110
+
111
+ if attributes.has_key?(:'address2')
112
+ self.address2 = attributes[:'address2']
113
+ end
114
+
115
+ if attributes.has_key?(:'administrativeArea')
116
+ self.administrative_area = attributes[:'administrativeArea']
117
+ end
118
+
119
+ if attributes.has_key?(:'buildingNumber')
120
+ self.building_number = attributes[:'buildingNumber']
121
+ end
122
+
123
+ if attributes.has_key?(:'country')
124
+ self.country = attributes[:'country']
125
+ end
126
+
127
+ if attributes.has_key?(:'district')
128
+ self.district = attributes[:'district']
129
+ end
130
+
131
+ if attributes.has_key?(:'locality')
132
+ self.locality = attributes[:'locality']
133
+ end
134
+
135
+ if attributes.has_key?(:'postalCode')
136
+ self.postal_code = attributes[:'postalCode']
137
+ end
138
+
139
+ if attributes.has_key?(:'email')
140
+ self.email = attributes[:'email']
141
+ end
142
+
143
+ if attributes.has_key?(:'firstName')
144
+ self.first_name = attributes[:'firstName']
145
+ end
146
+
147
+ if attributes.has_key?(:'lastName')
148
+ self.last_name = attributes[:'lastName']
149
+ end
150
+
151
+ if attributes.has_key?(:'phoneNumber')
152
+ self.phone_number = attributes[:'phoneNumber']
153
+ end
154
+
155
+ if attributes.has_key?(:'company')
156
+ self.company = attributes[:'company']
157
+ end
158
+ end
159
+
160
+ # Show invalid properties with the reasons. Usually used together with valid?
161
+ # @return Array for valid properties with the reasons
162
+ def list_invalid_properties
163
+ invalid_properties = Array.new
164
+ invalid_properties
165
+ end
166
+
167
+ # Check to see if the all the properties in the model are valid
168
+ # @return true if the model is valid
169
+ def valid?
170
+ true
171
+ end
172
+
173
+ # Checks equality by comparing each attribute.
174
+ # @param [Object] Object to be compared
175
+ def ==(o)
176
+ return true if self.equal?(o)
177
+ self.class == o.class &&
178
+ address1 == o.address1 &&
179
+ address2 == o.address2 &&
180
+ administrative_area == o.administrative_area &&
181
+ building_number == o.building_number &&
182
+ country == o.country &&
183
+ district == o.district &&
184
+ locality == o.locality &&
185
+ postal_code == o.postal_code &&
186
+ email == o.email &&
187
+ first_name == o.first_name &&
188
+ last_name == o.last_name &&
189
+ phone_number == o.phone_number &&
190
+ company == o.company
191
+ end
192
+
193
+ # @see the `==` method
194
+ # @param [Object] Object to be compared
195
+ def eql?(o)
196
+ self == o
197
+ end
198
+
199
+ # Calculates hash code according to all attributes.
200
+ # @return [Fixnum] Hash code
201
+ def hash
202
+ [address1, address2, administrative_area, building_number, country, district, locality, postal_code, email, first_name, last_name, phone_number, company].hash
203
+ end
204
+
205
+ # Builds the object from hash
206
+ # @param [Hash] attributes Model attributes in the form of hash
207
+ # @return [Object] Returns the model itself
208
+ def build_from_hash(attributes)
209
+ return nil unless attributes.is_a?(Hash)
210
+ self.class.swagger_types.each_pair do |key, type|
211
+ if type =~ /\AArray<(.*)>/i
212
+ # check to ensure the input is an array given that the the attribute
213
+ # is documented as an array but the input is not
214
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
215
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
216
+ end
217
+ elsif !attributes[self.class.attribute_map[key]].nil?
218
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
219
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
220
+ end
221
+
222
+ self
223
+ end
224
+
225
+ # Deserializes the data based on type
226
+ # @param string type Data type
227
+ # @param string value Value to be deserialized
228
+ # @return [Object] Deserialized data
229
+ def _deserialize(type, value)
230
+ case type.to_sym
231
+ when :DateTime
232
+ DateTime.parse(value)
233
+ when :Date
234
+ Date.parse(value)
235
+ when :String
236
+ value.to_s
237
+ when :Integer
238
+ value.to_i
239
+ when :Float
240
+ value.to_f
241
+ when :BOOLEAN
242
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
243
+ true
244
+ else
245
+ false
246
+ end
247
+ when :Object
248
+ # generic object (usually a Hash), return directly
249
+ value
250
+ when /\AArray<(?<inner_type>.+)>\z/
251
+ inner_type = Regexp.last_match[:inner_type]
252
+ value.map { |v| _deserialize(inner_type, v) }
253
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
254
+ k_type = Regexp.last_match[:k_type]
255
+ v_type = Regexp.last_match[:v_type]
256
+ {}.tap do |hash|
257
+ value.each do |k, v|
258
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
259
+ end
260
+ end
261
+ else # model
262
+ temp_model = CyberSource.const_get(type).new
263
+ temp_model.build_from_hash(value)
264
+ end
265
+ end
266
+
267
+ # Returns the string representation of the object
268
+ # @return [String] String presentation of the object
269
+ def to_s
270
+ to_hash.to_s
271
+ end
272
+
273
+ # to_body is an alias to to_hash (backward compatibility)
274
+ # @return [Hash] Returns the object in the form of hash
275
+ def to_body
276
+ to_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
+ next if value.nil?
286
+ hash[param] = _to_hash(value)
287
+ end
288
+ hash
289
+ end
290
+
291
+ # Outputs non-array value in the form of hash
292
+ # For object, use to_hash. Otherwise, just return the value
293
+ # @param [Object] value Any valid value
294
+ # @return [Hash] Returns the value in the form of hash
295
+ def _to_hash(value)
296
+ if value.is_a?(Array)
297
+ value.compact.map { |v| _to_hash(v) }
298
+ elsif value.is_a?(Hash)
299
+ {}.tap do |hash|
300
+ value.each { |k, v| hash[k] = _to_hash(v) }
301
+ end
302
+ elsif value.respond_to? :to_hash
303
+ value.to_hash
304
+ else
305
+ value
306
+ end
307
+ end
308
+ end
309
+ end