transferzero-sdk 1.11.0 → 1.14.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 +8 -4
- data/docs/AccountValidationRequest.md +2 -0
- data/docs/PayoutMethod.md +1 -1
- data/docs/PayoutMethodCountryEnum.md +16 -0
- data/docs/PayoutMethodDetails.md +16 -4
- data/docs/PayoutMethodDetailsGHSCash.md +21 -0
- data/docs/PayoutMethodDetailsMADCash.md +3 -3
- data/docs/PayoutMethodDetailsXOFCash.md +3 -1
- data/docs/PayoutMethodDetailsXOFMobile.md +3 -1
- data/docs/PayoutMethodDetailsZARBank.md +13 -1
- data/docs/PayoutMethodLegalEntityTypeEnum.md +16 -0
- data/docs/PayoutMethodNatureOfBusinessEnum.md +16 -0
- data/docs/TransactionsApi.md +2 -0
- data/example/client.rb +18 -55
- data/lib/transferzero-sdk.rb +4 -0
- data/lib/transferzero-sdk/api/transactions_api.rb +6 -0
- data/lib/transferzero-sdk/api_client.rb +1 -1
- data/lib/transferzero-sdk/models/account_validation_request.rb +10 -1
- data/lib/transferzero-sdk/models/payout_method.rb +1 -1
- data/lib/transferzero-sdk/models/payout_method_country_enum.rb +43 -0
- data/lib/transferzero-sdk/models/payout_method_details.rb +59 -19
- data/lib/transferzero-sdk/models/payout_method_details_ghs_cash.rb +236 -0
- data/lib/transferzero-sdk/models/payout_method_details_mad_cash.rb +1 -16
- data/lib/transferzero-sdk/models/payout_method_details_xof_cash.rb +14 -5
- data/lib/transferzero-sdk/models/payout_method_details_xof_mobile.rb +14 -5
- data/lib/transferzero-sdk/models/payout_method_details_zar_bank.rb +59 -5
- data/lib/transferzero-sdk/models/payout_method_identity_card_type_enum.rb +1 -1
- data/lib/transferzero-sdk/models/payout_method_legal_entity_type_enum.rb +37 -0
- 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_spec.rb +35 -0
- data/spec/models/payout_method_details_ghs_cash_spec.rb +53 -0
- data/spec/models/payout_method_legal_entity_type_enum_spec.rb +35 -0
- data/spec/models/payout_method_nature_of_business_enum_spec.rb +35 -0
- data/transferzero-sdk-1.11.0.gem +0 -0
- data/transferzero-sdk-1.12.0.gem +0 -0
- data/transferzero-sdk-1.14.0.gem +0 -0
- metadata +21 -2
@@ -204,6 +204,7 @@ module TransferZero
|
|
204
204
|
# @option opts [Integer] :per The number of results to load per page (defaults to 10)
|
205
205
|
# @option opts [String] :external_id Allows filtering results by `external_id`. Example: `/v1/senders?external_id=26ec8517-2f0d-48c0-b74f-0bccb9ab3a87`
|
206
206
|
# @option opts [String] :sender_id Allows filtering results by `sender_id`. Example: `/v1/transactions?sender_id=b41d3cb7-6c54-4245-85fc-8e30690eb0f7`
|
207
|
+
# @option opts [String] :transactions_type Allows filtering results by `transactions_type`. Example: `/v1/transactions?transactions_type=automated`
|
207
208
|
# @return [TransactionListResponse]
|
208
209
|
def get_transactions(opts = {})
|
209
210
|
data, _status_code, _headers = get_transactions_with_http_info(opts)
|
@@ -217,11 +218,15 @@ module TransferZero
|
|
217
218
|
# @option opts [Integer] :per The number of results to load per page (defaults to 10)
|
218
219
|
# @option opts [String] :external_id Allows filtering results by `external_id`. Example: `/v1/senders?external_id=26ec8517-2f0d-48c0-b74f-0bccb9ab3a87`
|
219
220
|
# @option opts [String] :sender_id Allows filtering results by `sender_id`. Example: `/v1/transactions?sender_id=b41d3cb7-6c54-4245-85fc-8e30690eb0f7`
|
221
|
+
# @option opts [String] :transactions_type Allows filtering results by `transactions_type`. Example: `/v1/transactions?transactions_type=automated`
|
220
222
|
# @return [Array<(TransactionListResponse, Fixnum, Hash)>] TransactionListResponse data, response status code and response headers
|
221
223
|
def get_transactions_with_http_info(opts = {})
|
222
224
|
if @api_client.config.debugging
|
223
225
|
@api_client.config.logger.debug 'Calling API: TransactionsApi.get_transactions ...'
|
224
226
|
end
|
227
|
+
if @api_client.config.client_side_validation && opts[:'transactions_type'] && !['automated', 'manual'].include?(opts[:'transactions_type'])
|
228
|
+
fail ArgumentError, 'invalid value for "transactions_type", must be one of automated, manual'
|
229
|
+
end
|
225
230
|
# resource path
|
226
231
|
local_var_path = '/transactions'
|
227
232
|
|
@@ -231,6 +236,7 @@ module TransferZero
|
|
231
236
|
query_params[:'per'] = opts[:'per'] if !opts[:'per'].nil?
|
232
237
|
query_params[:'external_id'] = opts[:'external_id'] if !opts[:'external_id'].nil?
|
233
238
|
query_params[:'sender_id'] = opts[:'sender_id'] if !opts[:'sender_id'].nil?
|
239
|
+
query_params[:'transactions_type'] = opts[:'transactions_type'] if !opts[:'transactions_type'].nil?
|
234
240
|
|
235
241
|
# header parameters
|
236
242
|
header_params = {}
|
@@ -35,7 +35,7 @@ module TransferZero
|
|
35
35
|
# @option config [Configuration] Configuration for initializing the object, default to Configuration.default
|
36
36
|
def initialize(config = Configuration.default)
|
37
37
|
@config = config
|
38
|
-
@user_agent = "TransferZero-SDK/Ruby/1.
|
38
|
+
@user_agent = "TransferZero-SDK/Ruby/1.14.1"
|
39
39
|
@default_headers = {
|
40
40
|
'Content-Type' => 'application/json',
|
41
41
|
'User-Agent' => @user_agent
|
@@ -23,6 +23,8 @@ class AccountValidationRequest
|
|
23
23
|
# Phone number to query
|
24
24
|
attr_accessor :phone_number
|
25
25
|
|
26
|
+
attr_accessor :mobile_provider
|
27
|
+
|
26
28
|
# Country of account in 2-character alpha ISO 3166-2 country format
|
27
29
|
attr_accessor :country
|
28
30
|
|
@@ -60,6 +62,7 @@ class AccountValidationRequest
|
|
60
62
|
:'bank_account' => :'bank_account',
|
61
63
|
:'bank_code' => :'bank_code',
|
62
64
|
:'phone_number' => :'phone_number',
|
65
|
+
:'mobile_provider' => :'mobile_provider',
|
63
66
|
:'country' => :'country',
|
64
67
|
:'currency' => :'currency',
|
65
68
|
:'method' => :'method'
|
@@ -72,6 +75,7 @@ class AccountValidationRequest
|
|
72
75
|
:'bank_account' => :'String',
|
73
76
|
:'bank_code' => :'String',
|
74
77
|
:'phone_number' => :'String',
|
78
|
+
:'mobile_provider' => :'PayoutMethodMobileProviderEnum',
|
75
79
|
:'country' => :'String',
|
76
80
|
:'currency' => :'String',
|
77
81
|
:'method' => :'String'
|
@@ -105,6 +109,10 @@ class AccountValidationRequest
|
|
105
109
|
self.phone_number = attributes[:'phone_number']
|
106
110
|
end
|
107
111
|
|
112
|
+
if attributes.key?(:'mobile_provider')
|
113
|
+
self.mobile_provider = attributes[:'mobile_provider']
|
114
|
+
end
|
115
|
+
|
108
116
|
if attributes.key?(:'country')
|
109
117
|
self.country = attributes[:'country']
|
110
118
|
end
|
@@ -190,6 +198,7 @@ class AccountValidationRequest
|
|
190
198
|
bank_account == o.bank_account &&
|
191
199
|
bank_code == o.bank_code &&
|
192
200
|
phone_number == o.phone_number &&
|
201
|
+
mobile_provider == o.mobile_provider &&
|
193
202
|
country == o.country &&
|
194
203
|
currency == o.currency &&
|
195
204
|
method == o.method
|
@@ -204,7 +213,7 @@ class AccountValidationRequest
|
|
204
213
|
# Calculates hash code according to all attributes.
|
205
214
|
# @return [Integer] Hash code
|
206
215
|
def hash
|
207
|
-
[bank_account, bank_code, phone_number, country, currency, method].hash
|
216
|
+
[bank_account, bank_code, phone_number, mobile_provider, country, currency, method].hash
|
208
217
|
end
|
209
218
|
|
210
219
|
require 'active_support/core_ext/hash'
|
@@ -15,7 +15,7 @@ require 'date'
|
|
15
15
|
module TransferZero
|
16
16
|
# This describes the specific details on how the payment has to be routed to the recipient.
|
17
17
|
class PayoutMethod
|
18
|
-
# Contains the currency to send the money to, and the type of the money movement Commonly used payout types are: - `NGN::Bank` - for Nigerian bank account payments. - `NGN::Mobile` - for Nigerian mobile money payments. - `GHS::Bank` - for Ghanaian bank account payments. - `GHS::Mobile` - for Ghanaian mobile money payments. - `UGX::Mobile` - for Ugandan mobile money payments. - `TZS::Mobile` - for Tanzanian mobile money payments. - `XOF::Mobile` - for
|
18
|
+
# Contains the currency to send the money to, and the type of the money movement Commonly used payout types are: - `NGN::Bank` - for Nigerian bank account payments. - `NGN::Mobile` - for Nigerian mobile money payments. - `GHS::Bank` - for Ghanaian bank account payments. - `GHS::Mobile` - for Ghanaian mobile money payments. - `GHS::Cash` - for Ghanaian cash remittance payments. - `UGX::Mobile` - for Ugandan mobile money payments. - `TZS::Mobile` - for Tanzanian mobile money payments. - `XOF::Mobile` - for mobile money payments to West-Africa. - `XOF::Bank` - for Senegalese bank account payments. - `XOF::Cash` - for Senegalese cash remittance payments. - `MAD::Cash` - for Moroccan cash remittance payments. - `EUR::Bank` - for IBAN bank transfers in EUR. - `GBP::Bank` - for IBAN bank and FP accounts transfers in GBP. - `ZAR::Bank` - for South Africa bank account payments. You can also send funds to the internal balance using `CCY::Balance`, where `CCY` is the appropriate currency. See [Collection from senders](https://docs.transferzero.com/docs/additional-features/#collections-from-senders) for more info on how to collect money into internal balance
|
19
19
|
attr_accessor :type
|
20
20
|
|
21
21
|
attr_accessor :details
|
@@ -0,0 +1,43 @@
|
|
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
|
+
class PayoutMethodCountryEnum
|
17
|
+
|
18
|
+
CI = "CI".freeze
|
19
|
+
ML = "ML".freeze
|
20
|
+
SN = "SN".freeze
|
21
|
+
NG = "NG".freeze
|
22
|
+
MA = "MA".freeze
|
23
|
+
TZ = "TZ".freeze
|
24
|
+
GH = "GH".freeze
|
25
|
+
UG = "UG".freeze
|
26
|
+
KE = "KE".freeze
|
27
|
+
NJ = "NJ".freeze
|
28
|
+
EU = "EU".freeze
|
29
|
+
GB = "GB".freeze
|
30
|
+
ZA = "ZA".freeze
|
31
|
+
EG = "EG".freeze
|
32
|
+
|
33
|
+
# Builds the enum from string
|
34
|
+
# @param [String] The enum value in the form of the string
|
35
|
+
# @return [String] The enum value
|
36
|
+
def build_from_hash(value)
|
37
|
+
constantValues = PayoutMethodCountryEnum.constants.select { |c| PayoutMethodCountryEnum::const_get(c) == value }
|
38
|
+
raise "Invalid ENUM value #{value} for class #PayoutMethodCountryEnum" if constantValues.empty? && !value.empty?
|
39
|
+
value
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -28,6 +28,8 @@ class PayoutMethodDetails
|
|
28
28
|
|
29
29
|
attr_accessor :mobile_provider
|
30
30
|
|
31
|
+
attr_accessor :country
|
32
|
+
|
31
33
|
attr_accessor :iban
|
32
34
|
|
33
35
|
attr_accessor :bank_name
|
@@ -72,6 +74,16 @@ class PayoutMethodDetails
|
|
72
74
|
|
73
75
|
attr_accessor :transfer_reason_code
|
74
76
|
|
77
|
+
attr_accessor :contact_first_name
|
78
|
+
|
79
|
+
attr_accessor :contact_last_name
|
80
|
+
|
81
|
+
attr_accessor :registration_number
|
82
|
+
|
83
|
+
attr_accessor :nature_of_business
|
84
|
+
|
85
|
+
attr_accessor :legal_entity_type
|
86
|
+
|
75
87
|
# Attribute mapping from ruby-style variable name to JSON key.
|
76
88
|
def self.attribute_map
|
77
89
|
{
|
@@ -82,6 +94,7 @@ class PayoutMethodDetails
|
|
82
94
|
:'bank_account_type' => :'bank_account_type',
|
83
95
|
:'phone_number' => :'phone_number',
|
84
96
|
:'mobile_provider' => :'mobile_provider',
|
97
|
+
:'country' => :'country',
|
85
98
|
:'iban' => :'iban',
|
86
99
|
:'bank_name' => :'bank_name',
|
87
100
|
:'bank_country' => :'bank_country',
|
@@ -103,7 +116,12 @@ class PayoutMethodDetails
|
|
103
116
|
:'postal_code' => :'postal_code',
|
104
117
|
:'city' => :'city',
|
105
118
|
:'email' => :'email',
|
106
|
-
:'transfer_reason_code' => :'transfer_reason_code'
|
119
|
+
:'transfer_reason_code' => :'transfer_reason_code',
|
120
|
+
:'contact_first_name' => :'contact_first_name',
|
121
|
+
:'contact_last_name' => :'contact_last_name',
|
122
|
+
:'registration_number' => :'registration_number',
|
123
|
+
:'nature_of_business' => :'nature_of_business',
|
124
|
+
:'legal_entity_type' => :'legal_entity_type'
|
107
125
|
}
|
108
126
|
end
|
109
127
|
|
@@ -117,6 +135,7 @@ class PayoutMethodDetails
|
|
117
135
|
:'bank_account_type' => :'PayoutMethodBankAccountTypeEnum',
|
118
136
|
:'phone_number' => :'String',
|
119
137
|
:'mobile_provider' => :'PayoutMethodMobileProviderEnum',
|
138
|
+
:'country' => :'PayoutMethodCountryEnum',
|
120
139
|
:'iban' => :'String',
|
121
140
|
:'bank_name' => :'String',
|
122
141
|
:'bank_country' => :'String',
|
@@ -138,7 +157,12 @@ class PayoutMethodDetails
|
|
138
157
|
:'postal_code' => :'String',
|
139
158
|
:'city' => :'String',
|
140
159
|
:'email' => :'String',
|
141
|
-
:'transfer_reason_code' => :'String'
|
160
|
+
:'transfer_reason_code' => :'String',
|
161
|
+
:'contact_first_name' => :'String',
|
162
|
+
:'contact_last_name' => :'String',
|
163
|
+
:'registration_number' => :'String',
|
164
|
+
:'nature_of_business' => :'PayoutMethodNatureOfBusinessEnum',
|
165
|
+
:'legal_entity_type' => :'PayoutMethodLegalEntityTypeEnum'
|
142
166
|
}
|
143
167
|
end
|
144
168
|
|
@@ -149,6 +173,7 @@ class PayoutMethodDetails
|
|
149
173
|
:'PayoutMethodDetailsBalance',
|
150
174
|
:'PayoutMethodDetailsGBPBank',
|
151
175
|
:'PayoutMethodDetailsGHSBank',
|
176
|
+
:'PayoutMethodDetailsGHSCash',
|
152
177
|
:'PayoutMethodDetailsIBAN',
|
153
178
|
:'PayoutMethodDetailsMADCash',
|
154
179
|
:'PayoutMethodDetailsMobile',
|
@@ -203,6 +228,10 @@ class PayoutMethodDetails
|
|
203
228
|
self.mobile_provider = attributes[:'mobile_provider']
|
204
229
|
end
|
205
230
|
|
231
|
+
if attributes.key?(:'country')
|
232
|
+
self.country = attributes[:'country']
|
233
|
+
end
|
234
|
+
|
206
235
|
if attributes.key?(:'iban')
|
207
236
|
self.iban = attributes[:'iban']
|
208
237
|
end
|
@@ -290,6 +319,26 @@ class PayoutMethodDetails
|
|
290
319
|
if attributes.key?(:'transfer_reason_code')
|
291
320
|
self.transfer_reason_code = attributes[:'transfer_reason_code']
|
292
321
|
end
|
322
|
+
|
323
|
+
if attributes.key?(:'contact_first_name')
|
324
|
+
self.contact_first_name = attributes[:'contact_first_name']
|
325
|
+
end
|
326
|
+
|
327
|
+
if attributes.key?(:'contact_last_name')
|
328
|
+
self.contact_last_name = attributes[:'contact_last_name']
|
329
|
+
end
|
330
|
+
|
331
|
+
if attributes.key?(:'registration_number')
|
332
|
+
self.registration_number = attributes[:'registration_number']
|
333
|
+
end
|
334
|
+
|
335
|
+
if attributes.key?(:'nature_of_business')
|
336
|
+
self.nature_of_business = attributes[:'nature_of_business']
|
337
|
+
end
|
338
|
+
|
339
|
+
if attributes.key?(:'legal_entity_type')
|
340
|
+
self.legal_entity_type = attributes[:'legal_entity_type']
|
341
|
+
end
|
293
342
|
end
|
294
343
|
|
295
344
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -340,18 +389,6 @@ class PayoutMethodDetails
|
|
340
389
|
invalid_properties.push('invalid value for "sender_identity_card_id", sender_identity_card_id cannot be nil.')
|
341
390
|
end
|
342
391
|
|
343
|
-
if @sender_city_of_birth.nil?
|
344
|
-
invalid_properties.push('invalid value for "sender_city_of_birth", sender_city_of_birth cannot be nil.')
|
345
|
-
end
|
346
|
-
|
347
|
-
if @sender_country_of_birth.nil?
|
348
|
-
invalid_properties.push('invalid value for "sender_country_of_birth", sender_country_of_birth cannot be nil.')
|
349
|
-
end
|
350
|
-
|
351
|
-
if @sender_gender.nil?
|
352
|
-
invalid_properties.push('invalid value for "sender_gender", sender_gender cannot be nil.')
|
353
|
-
end
|
354
|
-
|
355
392
|
if @name.nil?
|
356
393
|
invalid_properties.push('invalid value for "name", name cannot be nil.')
|
357
394
|
end
|
@@ -389,9 +426,6 @@ class PayoutMethodDetails
|
|
389
426
|
return false if @bank_country.nil?
|
390
427
|
return false if @sender_identity_card_type.nil?
|
391
428
|
return false if @sender_identity_card_id.nil?
|
392
|
-
return false if @sender_city_of_birth.nil?
|
393
|
-
return false if @sender_country_of_birth.nil?
|
394
|
-
return false if @sender_gender.nil?
|
395
429
|
return false if @name.nil?
|
396
430
|
return false if @address.nil?
|
397
431
|
return false if @street.nil?
|
@@ -428,6 +462,7 @@ class PayoutMethodDetails
|
|
428
462
|
bank_account_type == o.bank_account_type &&
|
429
463
|
phone_number == o.phone_number &&
|
430
464
|
mobile_provider == o.mobile_provider &&
|
465
|
+
country == o.country &&
|
431
466
|
iban == o.iban &&
|
432
467
|
bank_name == o.bank_name &&
|
433
468
|
bank_country == o.bank_country &&
|
@@ -449,7 +484,12 @@ class PayoutMethodDetails
|
|
449
484
|
postal_code == o.postal_code &&
|
450
485
|
city == o.city &&
|
451
486
|
email == o.email &&
|
452
|
-
transfer_reason_code == o.transfer_reason_code
|
487
|
+
transfer_reason_code == o.transfer_reason_code &&
|
488
|
+
contact_first_name == o.contact_first_name &&
|
489
|
+
contact_last_name == o.contact_last_name &&
|
490
|
+
registration_number == o.registration_number &&
|
491
|
+
nature_of_business == o.nature_of_business &&
|
492
|
+
legal_entity_type == o.legal_entity_type
|
453
493
|
end
|
454
494
|
|
455
495
|
# @see the `==` method
|
@@ -461,7 +501,7 @@ class PayoutMethodDetails
|
|
461
501
|
# Calculates hash code according to all attributes.
|
462
502
|
# @return [Integer] Hash code
|
463
503
|
def hash
|
464
|
-
[first_name, last_name, bank_code, bank_account, bank_account_type, phone_number, mobile_provider, 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].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, legal_entity_type].hash
|
465
505
|
end
|
466
506
|
|
467
507
|
require 'active_support/core_ext/hash'
|
@@ -0,0 +1,236 @@
|
|
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\", \"phone_number\": \"0322023144\" } ```
|
17
|
+
class PayoutMethodDetailsGHSCash
|
18
|
+
attr_accessor :first_name
|
19
|
+
|
20
|
+
attr_accessor :last_name
|
21
|
+
|
22
|
+
attr_accessor :phone_number
|
23
|
+
|
24
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
25
|
+
def self.attribute_map
|
26
|
+
{
|
27
|
+
:'first_name' => :'first_name',
|
28
|
+
:'last_name' => :'last_name',
|
29
|
+
:'phone_number' => :'phone_number'
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
# Attribute type mapping.
|
34
|
+
def self.openapi_types
|
35
|
+
{
|
36
|
+
:'first_name' => :'String',
|
37
|
+
:'last_name' => :'String',
|
38
|
+
:'phone_number' => :'String'
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
# Initializes the object
|
43
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
44
|
+
def initialize(attributes = {})
|
45
|
+
if (!attributes.is_a?(Hash))
|
46
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayoutMethodDetailsGHSCash` initialize method"
|
47
|
+
end
|
48
|
+
|
49
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
50
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
51
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
52
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayoutMethodDetailsGHSCash`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
53
|
+
end
|
54
|
+
h[k.to_sym] = v
|
55
|
+
}
|
56
|
+
|
57
|
+
if attributes.key?(:'first_name')
|
58
|
+
self.first_name = attributes[:'first_name']
|
59
|
+
end
|
60
|
+
|
61
|
+
if attributes.key?(:'last_name')
|
62
|
+
self.last_name = attributes[:'last_name']
|
63
|
+
end
|
64
|
+
|
65
|
+
if attributes.key?(:'phone_number')
|
66
|
+
self.phone_number = attributes[:'phone_number']
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
71
|
+
# @return Array for valid properties with the reasons
|
72
|
+
def list_invalid_properties
|
73
|
+
invalid_properties = Array.new
|
74
|
+
if @first_name.nil?
|
75
|
+
invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
|
76
|
+
end
|
77
|
+
|
78
|
+
if @last_name.nil?
|
79
|
+
invalid_properties.push('invalid value for "last_name", last_name cannot be nil.')
|
80
|
+
end
|
81
|
+
|
82
|
+
if @phone_number.nil?
|
83
|
+
invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
|
84
|
+
end
|
85
|
+
|
86
|
+
invalid_properties
|
87
|
+
end
|
88
|
+
|
89
|
+
# Check to see if the all the properties in the model are valid
|
90
|
+
# @return true if the model is valid
|
91
|
+
def valid?
|
92
|
+
return false if @first_name.nil?
|
93
|
+
return false if @last_name.nil?
|
94
|
+
return false if @phone_number.nil?
|
95
|
+
true
|
96
|
+
end
|
97
|
+
|
98
|
+
# Checks equality by comparing each attribute.
|
99
|
+
# @param [Object] Object to be compared
|
100
|
+
def ==(o)
|
101
|
+
return true if self.equal?(o)
|
102
|
+
self.class == o.class &&
|
103
|
+
first_name == o.first_name &&
|
104
|
+
last_name == o.last_name &&
|
105
|
+
phone_number == o.phone_number
|
106
|
+
end
|
107
|
+
|
108
|
+
# @see the `==` method
|
109
|
+
# @param [Object] Object to be compared
|
110
|
+
def eql?(o)
|
111
|
+
self == o
|
112
|
+
end
|
113
|
+
|
114
|
+
# Calculates hash code according to all attributes.
|
115
|
+
# @return [Integer] Hash code
|
116
|
+
def hash
|
117
|
+
[first_name, last_name, phone_number].hash
|
118
|
+
end
|
119
|
+
|
120
|
+
require 'active_support/core_ext/hash'
|
121
|
+
require 'active_support/hash_with_indifferent_access.rb'
|
122
|
+
# Builds the object from hash
|
123
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
124
|
+
# @return [Object] Returns the model itself
|
125
|
+
def build_from_hash(attributes)
|
126
|
+
return nil unless attributes.is_a?(Hash)
|
127
|
+
self.class.openapi_types.each_pair do |key, type|
|
128
|
+
if type =~ /\AArray<(.*)>/i
|
129
|
+
# check to ensure the input is an array given that the the attribute
|
130
|
+
# is documented as an array but the input is not
|
131
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
132
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
133
|
+
end
|
134
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
135
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
136
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
137
|
+
end
|
138
|
+
|
139
|
+
self
|
140
|
+
end
|
141
|
+
|
142
|
+
# Deserializes the data based on type
|
143
|
+
# @param string type Data type
|
144
|
+
# @param string value Value to be deserialized
|
145
|
+
# @return [Object] Deserialized data
|
146
|
+
def _deserialize(type, value)
|
147
|
+
case type.to_sym
|
148
|
+
when :DateTime
|
149
|
+
DateTime.parse(value)
|
150
|
+
when :Date
|
151
|
+
Date.parse(value)
|
152
|
+
when :String
|
153
|
+
value.to_s
|
154
|
+
when :Integer
|
155
|
+
value.to_i
|
156
|
+
when :Float
|
157
|
+
value.to_f
|
158
|
+
when :Boolean
|
159
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
160
|
+
true
|
161
|
+
else
|
162
|
+
false
|
163
|
+
end
|
164
|
+
when :Object
|
165
|
+
# generic object (usually a Hash), return directly
|
166
|
+
value
|
167
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
168
|
+
inner_type = Regexp.last_match[:inner_type]
|
169
|
+
value.map { |v| _deserialize(inner_type, v) }
|
170
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
171
|
+
k_type = Regexp.last_match[:k_type]
|
172
|
+
v_type = Regexp.last_match[:v_type]
|
173
|
+
{}.tap do |hash|
|
174
|
+
value.each do |k, v|
|
175
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
176
|
+
end
|
177
|
+
end
|
178
|
+
else # model
|
179
|
+
temp_model = TransferZero.const_get(type).new
|
180
|
+
temp_model.build_from_hash(value)
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
# Returns the string representation of the object
|
185
|
+
# @return [String] String presentation of the object
|
186
|
+
def to_s
|
187
|
+
to_hash.to_s
|
188
|
+
end
|
189
|
+
|
190
|
+
# to_body is an alias to to_hash (backward compatibility)
|
191
|
+
# @return [Hash] Returns the object in the form of hash
|
192
|
+
def to_body
|
193
|
+
to_hash
|
194
|
+
end
|
195
|
+
|
196
|
+
# Returns the object in the form of hash
|
197
|
+
# @return [Hash] Returns the object in the form of hash
|
198
|
+
def to_hash
|
199
|
+
hash = {}
|
200
|
+
self.class.attribute_map.each_pair do |attr, param|
|
201
|
+
value = self.send(attr)
|
202
|
+
next if value.nil?
|
203
|
+
hash[param] = _to_hash(value)
|
204
|
+
end
|
205
|
+
::ActiveSupport::HashWithIndifferentAccess.new(hash)
|
206
|
+
end
|
207
|
+
|
208
|
+
def [](key)
|
209
|
+
to_hash[key]
|
210
|
+
end
|
211
|
+
|
212
|
+
def dig(*args)
|
213
|
+
to_hash.dig(*args)
|
214
|
+
end
|
215
|
+
|
216
|
+
# Outputs non-array value in the form of hash
|
217
|
+
# For object, use to_hash. Otherwise, just return the value
|
218
|
+
# @param [Object] value Any valid value
|
219
|
+
# @return [Hash] Returns the value in the form of hash
|
220
|
+
def _to_hash(value)
|
221
|
+
if value.is_a?(Array)
|
222
|
+
value.compact.map { |v| _to_hash(v) }
|
223
|
+
elsif value.is_a?(Hash)
|
224
|
+
{}.tap do |hash|
|
225
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
226
|
+
end
|
227
|
+
elsif value.respond_to? :to_hash
|
228
|
+
value.to_hash
|
229
|
+
else
|
230
|
+
value
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
end
|
235
|
+
|
236
|
+
end
|