transferzero-sdk 1.14.0 → 1.15.1
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.
- checksums.yaml +4 -4
- data/README.md +10 -5
- data/docs/AccountValidationRequest.md +2 -0
- data/docs/PayoutMethod.md +1 -1
- data/docs/{PayoutMethodEntityTypeEnum.md → PayoutMethodCountryEnumUSDBank.md} +2 -2
- data/docs/PayoutMethodDetails.md +12 -8
- data/docs/PayoutMethodDetailsKESBank.md +37 -0
- data/docs/PayoutMethodDetailsKESMobile.md +31 -0
- data/docs/PayoutMethodDetailsUSDBank.md +27 -0
- data/docs/PayoutMethodDetailsXOFBank.md +5 -3
- data/docs/PayoutMethodDetailsZARBank.md +3 -3
- data/docs/PayoutMethodLegalEntityTypeEnum.md +16 -0
- data/docs/PayoutMethodNatureOfBusinessEnum.md +16 -0
- data/docs/TransactionsApi.md +2 -0
- data/lib/transferzero-sdk.rb +6 -1
- data/lib/transferzero-sdk/api/transactions_api.rb +6 -0
- data/lib/transferzero-sdk/api_client.rb +2 -2
- data/lib/transferzero-sdk/models/account_validation_request.rb +15 -5
- data/lib/transferzero-sdk/models/payout_method.rb +1 -1
- data/lib/transferzero-sdk/models/payout_method_country_enum.rb +234 -8
- data/lib/transferzero-sdk/models/payout_method_country_enum_usd_bank.rb +269 -0
- data/lib/transferzero-sdk/models/payout_method_details.rb +55 -14
- data/lib/transferzero-sdk/models/payout_method_details_kes_bank.rb +343 -0
- data/lib/transferzero-sdk/models/payout_method_details_kes_mobile.rb +306 -0
- data/lib/transferzero-sdk/models/payout_method_details_usd_bank.rb +278 -0
- data/lib/transferzero-sdk/models/payout_method_details_xof_bank.rb +14 -15
- data/lib/transferzero-sdk/models/payout_method_details_zar_bank.rb +9 -9
- data/lib/transferzero-sdk/models/{payout_method_entity_type_enum.rb → payout_method_legal_entity_type_enum.rb} +3 -3
- data/lib/transferzero-sdk/models/payout_method_mobile_provider_enum.rb +1 -0
- data/lib/transferzero-sdk/models/payout_method_nature_of_business_enum.rb +65 -0
- data/lib/transferzero-sdk/version.rb +1 -1
- data/spec/models/payout_method_country_enum_usd_bank_spec.rb +35 -0
- data/spec/models/payout_method_details_kes_bank_spec.rb +101 -0
- data/spec/models/payout_method_details_kes_mobile_spec.rb +83 -0
- data/spec/models/payout_method_details_usd_bank_spec.rb +71 -0
- data/spec/models/{payout_method_entity_type_enum_spec.rb → payout_method_legal_entity_type_enum_spec.rb} +6 -6
- data/spec/models/payout_method_nature_of_business_enum_spec.rb +35 -0
- metadata +36 -20
- data/Gemfile.lock +0 -93
- data/transferzero-sdk-1.10.0.gem +0 -0
- data/transferzero-sdk-1.11.0.gem +0 -0
- data/transferzero-sdk-1.12.0.gem +0 -0
@@ -82,7 +82,11 @@ class PayoutMethodDetails
|
|
82
82
|
|
83
83
|
attr_accessor :nature_of_business
|
84
84
|
|
85
|
-
attr_accessor :
|
85
|
+
attr_accessor :legal_entity_type
|
86
|
+
|
87
|
+
attr_accessor :branch_code
|
88
|
+
|
89
|
+
attr_accessor :swift_code
|
86
90
|
|
87
91
|
# Attribute mapping from ruby-style variable name to JSON key.
|
88
92
|
def self.attribute_map
|
@@ -121,7 +125,9 @@ class PayoutMethodDetails
|
|
121
125
|
:'contact_last_name' => :'contact_last_name',
|
122
126
|
:'registration_number' => :'registration_number',
|
123
127
|
:'nature_of_business' => :'nature_of_business',
|
124
|
-
:'
|
128
|
+
:'legal_entity_type' => :'legal_entity_type',
|
129
|
+
:'branch_code' => :'branch_code',
|
130
|
+
:'swift_code' => :'swift_code'
|
125
131
|
}
|
126
132
|
end
|
127
133
|
|
@@ -135,7 +141,7 @@ class PayoutMethodDetails
|
|
135
141
|
:'bank_account_type' => :'PayoutMethodBankAccountTypeEnum',
|
136
142
|
:'phone_number' => :'String',
|
137
143
|
:'mobile_provider' => :'PayoutMethodMobileProviderEnum',
|
138
|
-
:'country' => :'
|
144
|
+
:'country' => :'PayoutMethodCountryEnumUSDBank',
|
139
145
|
:'iban' => :'String',
|
140
146
|
:'bank_name' => :'String',
|
141
147
|
:'bank_country' => :'String',
|
@@ -161,8 +167,10 @@ class PayoutMethodDetails
|
|
161
167
|
:'contact_first_name' => :'String',
|
162
168
|
:'contact_last_name' => :'String',
|
163
169
|
:'registration_number' => :'String',
|
164
|
-
:'nature_of_business' => :'
|
165
|
-
:'
|
170
|
+
:'nature_of_business' => :'PayoutMethodNatureOfBusinessEnum',
|
171
|
+
:'legal_entity_type' => :'PayoutMethodLegalEntityTypeEnum',
|
172
|
+
:'branch_code' => :'String',
|
173
|
+
:'swift_code' => :'String'
|
166
174
|
}
|
167
175
|
end
|
168
176
|
|
@@ -175,9 +183,12 @@ class PayoutMethodDetails
|
|
175
183
|
:'PayoutMethodDetailsGHSBank',
|
176
184
|
:'PayoutMethodDetailsGHSCash',
|
177
185
|
:'PayoutMethodDetailsIBAN',
|
186
|
+
:'PayoutMethodDetailsKESBank',
|
187
|
+
:'PayoutMethodDetailsKESMobile',
|
178
188
|
:'PayoutMethodDetailsMADCash',
|
179
189
|
:'PayoutMethodDetailsMobile',
|
180
190
|
:'PayoutMethodDetailsNGNBank',
|
191
|
+
:'PayoutMethodDetailsUSDBank',
|
181
192
|
:'PayoutMethodDetailsXOFBank',
|
182
193
|
:'PayoutMethodDetailsXOFCash',
|
183
194
|
:'PayoutMethodDetailsXOFMobile',
|
@@ -336,8 +347,16 @@ class PayoutMethodDetails
|
|
336
347
|
self.nature_of_business = attributes[:'nature_of_business']
|
337
348
|
end
|
338
349
|
|
339
|
-
if attributes.key?(:'
|
340
|
-
self.
|
350
|
+
if attributes.key?(:'legal_entity_type')
|
351
|
+
self.legal_entity_type = attributes[:'legal_entity_type']
|
352
|
+
end
|
353
|
+
|
354
|
+
if attributes.key?(:'branch_code')
|
355
|
+
self.branch_code = attributes[:'branch_code']
|
356
|
+
end
|
357
|
+
|
358
|
+
if attributes.key?(:'swift_code')
|
359
|
+
self.swift_code = attributes[:'swift_code']
|
341
360
|
end
|
342
361
|
end
|
343
362
|
|
@@ -369,6 +388,10 @@ class PayoutMethodDetails
|
|
369
388
|
invalid_properties.push('invalid value for "mobile_provider", mobile_provider cannot be nil.')
|
370
389
|
end
|
371
390
|
|
391
|
+
if @country.nil?
|
392
|
+
invalid_properties.push('invalid value for "country", country cannot be nil.')
|
393
|
+
end
|
394
|
+
|
372
395
|
if @iban.nil?
|
373
396
|
invalid_properties.push('invalid value for "iban", iban cannot be nil.')
|
374
397
|
end
|
@@ -377,10 +400,6 @@ class PayoutMethodDetails
|
|
377
400
|
invalid_properties.push('invalid value for "bank_name", bank_name cannot be nil.')
|
378
401
|
end
|
379
402
|
|
380
|
-
if @bank_country.nil?
|
381
|
-
invalid_properties.push('invalid value for "bank_country", bank_country cannot be nil.')
|
382
|
-
end
|
383
|
-
|
384
403
|
if @sender_identity_card_type.nil?
|
385
404
|
invalid_properties.push('invalid value for "sender_identity_card_type", sender_identity_card_type cannot be nil.')
|
386
405
|
end
|
@@ -389,6 +408,14 @@ class PayoutMethodDetails
|
|
389
408
|
invalid_properties.push('invalid value for "sender_identity_card_id", sender_identity_card_id cannot be nil.')
|
390
409
|
end
|
391
410
|
|
411
|
+
if @identity_card_type.nil?
|
412
|
+
invalid_properties.push('invalid value for "identity_card_type", identity_card_type cannot be nil.')
|
413
|
+
end
|
414
|
+
|
415
|
+
if @identity_card_id.nil?
|
416
|
+
invalid_properties.push('invalid value for "identity_card_id", identity_card_id cannot be nil.')
|
417
|
+
end
|
418
|
+
|
392
419
|
if @name.nil?
|
393
420
|
invalid_properties.push('invalid value for "name", name cannot be nil.')
|
394
421
|
end
|
@@ -409,6 +436,14 @@ class PayoutMethodDetails
|
|
409
436
|
invalid_properties.push('invalid value for "city", city cannot be nil.')
|
410
437
|
end
|
411
438
|
|
439
|
+
if @transfer_reason_code.nil?
|
440
|
+
invalid_properties.push('invalid value for "transfer_reason_code", transfer_reason_code cannot be nil.')
|
441
|
+
end
|
442
|
+
|
443
|
+
if @swift_code.nil?
|
444
|
+
invalid_properties.push('invalid value for "swift_code", swift_code cannot be nil.')
|
445
|
+
end
|
446
|
+
|
412
447
|
invalid_properties
|
413
448
|
end
|
414
449
|
|
@@ -421,16 +456,20 @@ class PayoutMethodDetails
|
|
421
456
|
return false if @bank_account.nil?
|
422
457
|
return false if @phone_number.nil?
|
423
458
|
return false if @mobile_provider.nil?
|
459
|
+
return false if @country.nil?
|
424
460
|
return false if @iban.nil?
|
425
461
|
return false if @bank_name.nil?
|
426
|
-
return false if @bank_country.nil?
|
427
462
|
return false if @sender_identity_card_type.nil?
|
428
463
|
return false if @sender_identity_card_id.nil?
|
464
|
+
return false if @identity_card_type.nil?
|
465
|
+
return false if @identity_card_id.nil?
|
429
466
|
return false if @name.nil?
|
430
467
|
return false if @address.nil?
|
431
468
|
return false if @street.nil?
|
432
469
|
return false if @postal_code.nil?
|
433
470
|
return false if @city.nil?
|
471
|
+
return false if @transfer_reason_code.nil?
|
472
|
+
return false if @swift_code.nil?
|
434
473
|
_one_of_found = false
|
435
474
|
openapi_one_of.each do |_class|
|
436
475
|
_one_of = TransferZero.const_get(_class).build_from_hash(self.to_hash)
|
@@ -489,7 +528,9 @@ class PayoutMethodDetails
|
|
489
528
|
contact_last_name == o.contact_last_name &&
|
490
529
|
registration_number == o.registration_number &&
|
491
530
|
nature_of_business == o.nature_of_business &&
|
492
|
-
|
531
|
+
legal_entity_type == o.legal_entity_type &&
|
532
|
+
branch_code == o.branch_code &&
|
533
|
+
swift_code == o.swift_code
|
493
534
|
end
|
494
535
|
|
495
536
|
# @see the `==` method
|
@@ -501,7 +542,7 @@ class PayoutMethodDetails
|
|
501
542
|
# Calculates hash code according to all attributes.
|
502
543
|
# @return [Integer] Hash code
|
503
544
|
def hash
|
504
|
-
[first_name, last_name, bank_code, bank_account, bank_account_type, phone_number, mobile_provider, country, iban, bank_name, bank_country, cash_provider, sort_code, bic, sender_identity_card_type, sender_identity_card_id, sender_city_of_birth, sender_country_of_birth, sender_gender, reason, identity_card_type, identity_card_id, reference, name, address, street, postal_code, city, email, transfer_reason_code, contact_first_name, contact_last_name, registration_number, nature_of_business,
|
545
|
+
[first_name, last_name, bank_code, bank_account, bank_account_type, phone_number, mobile_provider, country, iban, bank_name, bank_country, cash_provider, sort_code, bic, sender_identity_card_type, sender_identity_card_id, sender_city_of_birth, sender_country_of_birth, sender_gender, reason, identity_card_type, identity_card_id, reference, name, address, street, postal_code, city, email, transfer_reason_code, contact_first_name, contact_last_name, registration_number, nature_of_business, legal_entity_type, branch_code, swift_code].hash
|
505
546
|
end
|
506
547
|
|
507
548
|
require 'active_support/core_ext/hash'
|
@@ -0,0 +1,343 @@
|
|
1
|
+
=begin
|
2
|
+
#TransferZero API
|
3
|
+
|
4
|
+
#Reference documentation for the TransferZero API V1
|
5
|
+
|
6
|
+
OpenAPI spec version: 1.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 4.0.0-beta3
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module TransferZero
|
16
|
+
# ```JSON \"details\": { \"first_name\": \"First\", \"last_name\": \"Last\", \"street\": \"Main Street\", \"bank_code\": \"68\", \"bank_account\": \"12345678\", \"bank_name\": \"Equity Bank Ltd\", \"branch_code\": \"404\", \"swift_code\" \"ABCLKENA\", \"transfer_reason_code\": \"185\", \"identity_card_type\": \"ID\", \"identity_card_id\": \"AB12345678\" } ``` The valid bank_code values are: - Habib Bank Limited: 08 - Trans-National Bank Limited: 26 - Housing Finance Co. Kenya: 61 - UBA Kenya Bank Ltd: 76 - Kenya Commercial Bank: 01000 - Standard Chartered Bank: 02000 - Barclays Bank of Kenya: 03000 - Bank of India: 05000 - Bank of Boroda: 06000 - NCBA Bank: 07000 - Prime Bank: 10000 - Co-operative Bank of Kenya: 11000 - National Bank of Kenya: 12000 - M-Oriental Commercial Bank Limited: 14000 - Citibank: 16000 - Habib Bank A.G. Zurich: 17000 - Middle East Bank: 18000 - Bank of Africa Kenya: 19000 - Consolidated Bank of Kenya: 23000 - Credit Bank Ltd: 25000 - Chase Bank: 30000 - Stanbic Bank Kenya: 31000 - African Banking Corporation: 35000 - Giro Bank Limited: 42000 - ECO Bank Kenya: 43000 - Spire Bank Limited: 49000 - Paramount Universal Bank Limited: 50000 - Jamii Bora Bank: 51000 - Guaranty Trust Bank Kenya: 53000 - Victoria Bank Limited: 54000 - Guardian Bank: 55000 - Investments and Mortgages Bank Limited: 57000 - Development Bank of Kenya: 59000 - Fidelity Commercial Bank: 46000 - Diamond Trust Bank: 63000 - Sidian Bank: 66000 - Equity Bank Limited: 68000 - Family Bank: 70000 - Gulf African Bank: 72000 - First Community Bank: 74000 - KWFT Bank: 78000 See [KES Bank](https://docs.transferzero.com/docs/payout-details/#kesbank) documentation for the transfer_reason_code list
|
17
|
+
class PayoutMethodDetailsKESBank
|
18
|
+
attr_accessor :first_name
|
19
|
+
|
20
|
+
attr_accessor :last_name
|
21
|
+
|
22
|
+
attr_accessor :bank_code
|
23
|
+
|
24
|
+
attr_accessor :street
|
25
|
+
|
26
|
+
attr_accessor :bank_account
|
27
|
+
|
28
|
+
attr_accessor :bank_name
|
29
|
+
|
30
|
+
attr_accessor :branch_code
|
31
|
+
|
32
|
+
attr_accessor :swift_code
|
33
|
+
|
34
|
+
attr_accessor :transfer_reason_code
|
35
|
+
|
36
|
+
attr_accessor :identity_card_type
|
37
|
+
|
38
|
+
attr_accessor :identity_card_id
|
39
|
+
|
40
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
41
|
+
def self.attribute_map
|
42
|
+
{
|
43
|
+
:'first_name' => :'first_name',
|
44
|
+
:'last_name' => :'last_name',
|
45
|
+
:'bank_code' => :'bank_code',
|
46
|
+
:'street' => :'street',
|
47
|
+
:'bank_account' => :'bank_account',
|
48
|
+
:'bank_name' => :'bank_name',
|
49
|
+
:'branch_code' => :'branch_code',
|
50
|
+
:'swift_code' => :'swift_code',
|
51
|
+
:'transfer_reason_code' => :'transfer_reason_code',
|
52
|
+
:'identity_card_type' => :'identity_card_type',
|
53
|
+
:'identity_card_id' => :'identity_card_id'
|
54
|
+
}
|
55
|
+
end
|
56
|
+
|
57
|
+
# Attribute type mapping.
|
58
|
+
def self.openapi_types
|
59
|
+
{
|
60
|
+
:'first_name' => :'String',
|
61
|
+
:'last_name' => :'String',
|
62
|
+
:'bank_code' => :'String',
|
63
|
+
:'street' => :'String',
|
64
|
+
:'bank_account' => :'String',
|
65
|
+
:'bank_name' => :'String',
|
66
|
+
:'branch_code' => :'String',
|
67
|
+
:'swift_code' => :'String',
|
68
|
+
:'transfer_reason_code' => :'String',
|
69
|
+
:'identity_card_type' => :'PayoutMethodIdentityCardTypeEnum',
|
70
|
+
:'identity_card_id' => :'String'
|
71
|
+
}
|
72
|
+
end
|
73
|
+
|
74
|
+
# Initializes the object
|
75
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
76
|
+
def initialize(attributes = {})
|
77
|
+
if (!attributes.is_a?(Hash))
|
78
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayoutMethodDetailsKESBank` initialize method"
|
79
|
+
end
|
80
|
+
|
81
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
82
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
83
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
84
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayoutMethodDetailsKESBank`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
85
|
+
end
|
86
|
+
h[k.to_sym] = v
|
87
|
+
}
|
88
|
+
|
89
|
+
if attributes.key?(:'first_name')
|
90
|
+
self.first_name = attributes[:'first_name']
|
91
|
+
end
|
92
|
+
|
93
|
+
if attributes.key?(:'last_name')
|
94
|
+
self.last_name = attributes[:'last_name']
|
95
|
+
end
|
96
|
+
|
97
|
+
if attributes.key?(:'bank_code')
|
98
|
+
self.bank_code = attributes[:'bank_code']
|
99
|
+
end
|
100
|
+
|
101
|
+
if attributes.key?(:'street')
|
102
|
+
self.street = attributes[:'street']
|
103
|
+
end
|
104
|
+
|
105
|
+
if attributes.key?(:'bank_account')
|
106
|
+
self.bank_account = attributes[:'bank_account']
|
107
|
+
end
|
108
|
+
|
109
|
+
if attributes.key?(:'bank_name')
|
110
|
+
self.bank_name = attributes[:'bank_name']
|
111
|
+
end
|
112
|
+
|
113
|
+
if attributes.key?(:'branch_code')
|
114
|
+
self.branch_code = attributes[:'branch_code']
|
115
|
+
end
|
116
|
+
|
117
|
+
if attributes.key?(:'swift_code')
|
118
|
+
self.swift_code = attributes[:'swift_code']
|
119
|
+
end
|
120
|
+
|
121
|
+
if attributes.key?(:'transfer_reason_code')
|
122
|
+
self.transfer_reason_code = attributes[:'transfer_reason_code']
|
123
|
+
end
|
124
|
+
|
125
|
+
if attributes.key?(:'identity_card_type')
|
126
|
+
self.identity_card_type = attributes[:'identity_card_type']
|
127
|
+
end
|
128
|
+
|
129
|
+
if attributes.key?(:'identity_card_id')
|
130
|
+
self.identity_card_id = attributes[:'identity_card_id']
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
135
|
+
# @return Array for valid properties with the reasons
|
136
|
+
def list_invalid_properties
|
137
|
+
invalid_properties = Array.new
|
138
|
+
if @first_name.nil?
|
139
|
+
invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
|
140
|
+
end
|
141
|
+
|
142
|
+
if @last_name.nil?
|
143
|
+
invalid_properties.push('invalid value for "last_name", last_name cannot be nil.')
|
144
|
+
end
|
145
|
+
|
146
|
+
if @bank_code.nil?
|
147
|
+
invalid_properties.push('invalid value for "bank_code", bank_code cannot be nil.')
|
148
|
+
end
|
149
|
+
|
150
|
+
if @street.nil?
|
151
|
+
invalid_properties.push('invalid value for "street", street cannot be nil.')
|
152
|
+
end
|
153
|
+
|
154
|
+
if @bank_account.nil?
|
155
|
+
invalid_properties.push('invalid value for "bank_account", bank_account cannot be nil.')
|
156
|
+
end
|
157
|
+
|
158
|
+
if @bank_name.nil?
|
159
|
+
invalid_properties.push('invalid value for "bank_name", bank_name cannot be nil.')
|
160
|
+
end
|
161
|
+
|
162
|
+
if @swift_code.nil?
|
163
|
+
invalid_properties.push('invalid value for "swift_code", swift_code cannot be nil.')
|
164
|
+
end
|
165
|
+
|
166
|
+
if @transfer_reason_code.nil?
|
167
|
+
invalid_properties.push('invalid value for "transfer_reason_code", transfer_reason_code cannot be nil.')
|
168
|
+
end
|
169
|
+
|
170
|
+
if @identity_card_type.nil?
|
171
|
+
invalid_properties.push('invalid value for "identity_card_type", identity_card_type cannot be nil.')
|
172
|
+
end
|
173
|
+
|
174
|
+
if @identity_card_id.nil?
|
175
|
+
invalid_properties.push('invalid value for "identity_card_id", identity_card_id cannot be nil.')
|
176
|
+
end
|
177
|
+
|
178
|
+
invalid_properties
|
179
|
+
end
|
180
|
+
|
181
|
+
# Check to see if the all the properties in the model are valid
|
182
|
+
# @return true if the model is valid
|
183
|
+
def valid?
|
184
|
+
return false if @first_name.nil?
|
185
|
+
return false if @last_name.nil?
|
186
|
+
return false if @bank_code.nil?
|
187
|
+
return false if @street.nil?
|
188
|
+
return false if @bank_account.nil?
|
189
|
+
return false if @bank_name.nil?
|
190
|
+
return false if @swift_code.nil?
|
191
|
+
return false if @transfer_reason_code.nil?
|
192
|
+
return false if @identity_card_type.nil?
|
193
|
+
return false if @identity_card_id.nil?
|
194
|
+
true
|
195
|
+
end
|
196
|
+
|
197
|
+
# Checks equality by comparing each attribute.
|
198
|
+
# @param [Object] Object to be compared
|
199
|
+
def ==(o)
|
200
|
+
return true if self.equal?(o)
|
201
|
+
self.class == o.class &&
|
202
|
+
first_name == o.first_name &&
|
203
|
+
last_name == o.last_name &&
|
204
|
+
bank_code == o.bank_code &&
|
205
|
+
street == o.street &&
|
206
|
+
bank_account == o.bank_account &&
|
207
|
+
bank_name == o.bank_name &&
|
208
|
+
branch_code == o.branch_code &&
|
209
|
+
swift_code == o.swift_code &&
|
210
|
+
transfer_reason_code == o.transfer_reason_code &&
|
211
|
+
identity_card_type == o.identity_card_type &&
|
212
|
+
identity_card_id == o.identity_card_id
|
213
|
+
end
|
214
|
+
|
215
|
+
# @see the `==` method
|
216
|
+
# @param [Object] Object to be compared
|
217
|
+
def eql?(o)
|
218
|
+
self == o
|
219
|
+
end
|
220
|
+
|
221
|
+
# Calculates hash code according to all attributes.
|
222
|
+
# @return [Integer] Hash code
|
223
|
+
def hash
|
224
|
+
[first_name, last_name, bank_code, street, bank_account, bank_name, branch_code, swift_code, transfer_reason_code, identity_card_type, identity_card_id].hash
|
225
|
+
end
|
226
|
+
|
227
|
+
require 'active_support/core_ext/hash'
|
228
|
+
require 'active_support/hash_with_indifferent_access.rb'
|
229
|
+
# Builds the object from hash
|
230
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
231
|
+
# @return [Object] Returns the model itself
|
232
|
+
def build_from_hash(attributes)
|
233
|
+
return nil unless attributes.is_a?(Hash)
|
234
|
+
self.class.openapi_types.each_pair do |key, type|
|
235
|
+
if type =~ /\AArray<(.*)>/i
|
236
|
+
# check to ensure the input is an array given that the the attribute
|
237
|
+
# is documented as an array but the input is not
|
238
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
239
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
240
|
+
end
|
241
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
242
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
243
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
244
|
+
end
|
245
|
+
|
246
|
+
self
|
247
|
+
end
|
248
|
+
|
249
|
+
# Deserializes the data based on type
|
250
|
+
# @param string type Data type
|
251
|
+
# @param string value Value to be deserialized
|
252
|
+
# @return [Object] Deserialized data
|
253
|
+
def _deserialize(type, value)
|
254
|
+
case type.to_sym
|
255
|
+
when :DateTime
|
256
|
+
DateTime.parse(value)
|
257
|
+
when :Date
|
258
|
+
Date.parse(value)
|
259
|
+
when :String
|
260
|
+
value.to_s
|
261
|
+
when :Integer
|
262
|
+
value.to_i
|
263
|
+
when :Float
|
264
|
+
value.to_f
|
265
|
+
when :Boolean
|
266
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
267
|
+
true
|
268
|
+
else
|
269
|
+
false
|
270
|
+
end
|
271
|
+
when :Object
|
272
|
+
# generic object (usually a Hash), return directly
|
273
|
+
value
|
274
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
275
|
+
inner_type = Regexp.last_match[:inner_type]
|
276
|
+
value.map { |v| _deserialize(inner_type, v) }
|
277
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
278
|
+
k_type = Regexp.last_match[:k_type]
|
279
|
+
v_type = Regexp.last_match[:v_type]
|
280
|
+
{}.tap do |hash|
|
281
|
+
value.each do |k, v|
|
282
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
283
|
+
end
|
284
|
+
end
|
285
|
+
else # model
|
286
|
+
temp_model = TransferZero.const_get(type).new
|
287
|
+
temp_model.build_from_hash(value)
|
288
|
+
end
|
289
|
+
end
|
290
|
+
|
291
|
+
# Returns the string representation of the object
|
292
|
+
# @return [String] String presentation of the object
|
293
|
+
def to_s
|
294
|
+
to_hash.to_s
|
295
|
+
end
|
296
|
+
|
297
|
+
# to_body is an alias to to_hash (backward compatibility)
|
298
|
+
# @return [Hash] Returns the object in the form of hash
|
299
|
+
def to_body
|
300
|
+
to_hash
|
301
|
+
end
|
302
|
+
|
303
|
+
# Returns the object in the form of hash
|
304
|
+
# @return [Hash] Returns the object in the form of hash
|
305
|
+
def to_hash
|
306
|
+
hash = {}
|
307
|
+
self.class.attribute_map.each_pair do |attr, param|
|
308
|
+
value = self.send(attr)
|
309
|
+
next if value.nil?
|
310
|
+
hash[param] = _to_hash(value)
|
311
|
+
end
|
312
|
+
::ActiveSupport::HashWithIndifferentAccess.new(hash)
|
313
|
+
end
|
314
|
+
|
315
|
+
def [](key)
|
316
|
+
to_hash[key]
|
317
|
+
end
|
318
|
+
|
319
|
+
def dig(*args)
|
320
|
+
to_hash.dig(*args)
|
321
|
+
end
|
322
|
+
|
323
|
+
# Outputs non-array value in the form of hash
|
324
|
+
# For object, use to_hash. Otherwise, just return the value
|
325
|
+
# @param [Object] value Any valid value
|
326
|
+
# @return [Hash] Returns the value in the form of hash
|
327
|
+
def _to_hash(value)
|
328
|
+
if value.is_a?(Array)
|
329
|
+
value.compact.map { |v| _to_hash(v) }
|
330
|
+
elsif value.is_a?(Hash)
|
331
|
+
{}.tap do |hash|
|
332
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
333
|
+
end
|
334
|
+
elsif value.respond_to? :to_hash
|
335
|
+
value.to_hash
|
336
|
+
else
|
337
|
+
value
|
338
|
+
end
|
339
|
+
end
|
340
|
+
|
341
|
+
end
|
342
|
+
|
343
|
+
end
|