transferzero-sdk 1.14.2 → 1.15.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.
@@ -0,0 +1,306 @@
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\", \"phone_number\": \"+254997853134\", \"mobile_provider\": \"mpesa\", \"transfer_reason_code\": \"185\", \"identity_card_type\": \"ID\", \"identity_card_id\": \"AB12345678\" } ``` See [KES Mobile](https://docs.transferzero.com/docs/payout-details/#kesmobile) documentation for transfer_reason_code lists
17
+ class PayoutMethodDetailsKESMobile
18
+ attr_accessor :first_name
19
+
20
+ attr_accessor :last_name
21
+
22
+ attr_accessor :street
23
+
24
+ attr_accessor :phone_number
25
+
26
+ attr_accessor :mobile_provider
27
+
28
+ attr_accessor :transfer_reason_code
29
+
30
+ attr_accessor :identity_card_type
31
+
32
+ attr_accessor :identity_card_id
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'first_name' => :'first_name',
38
+ :'last_name' => :'last_name',
39
+ :'street' => :'street',
40
+ :'phone_number' => :'phone_number',
41
+ :'mobile_provider' => :'mobile_provider',
42
+ :'transfer_reason_code' => :'transfer_reason_code',
43
+ :'identity_card_type' => :'identity_card_type',
44
+ :'identity_card_id' => :'identity_card_id'
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'first_name' => :'String',
52
+ :'last_name' => :'String',
53
+ :'street' => :'String',
54
+ :'phone_number' => :'String',
55
+ :'mobile_provider' => :'PayoutMethodMobileProviderEnum',
56
+ :'transfer_reason_code' => :'String',
57
+ :'identity_card_type' => :'PayoutMethodIdentityCardTypeEnum',
58
+ :'identity_card_id' => :'String'
59
+ }
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayoutMethodDetailsKESMobile` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!self.class.attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayoutMethodDetailsKESMobile`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'first_name')
78
+ self.first_name = attributes[:'first_name']
79
+ end
80
+
81
+ if attributes.key?(:'last_name')
82
+ self.last_name = attributes[:'last_name']
83
+ end
84
+
85
+ if attributes.key?(:'street')
86
+ self.street = attributes[:'street']
87
+ end
88
+
89
+ if attributes.key?(:'phone_number')
90
+ self.phone_number = attributes[:'phone_number']
91
+ end
92
+
93
+ if attributes.key?(:'mobile_provider')
94
+ self.mobile_provider = attributes[:'mobile_provider']
95
+ end
96
+
97
+ if attributes.key?(:'transfer_reason_code')
98
+ self.transfer_reason_code = attributes[:'transfer_reason_code']
99
+ end
100
+
101
+ if attributes.key?(:'identity_card_type')
102
+ self.identity_card_type = attributes[:'identity_card_type']
103
+ end
104
+
105
+ if attributes.key?(:'identity_card_id')
106
+ self.identity_card_id = attributes[:'identity_card_id']
107
+ end
108
+ end
109
+
110
+ # Show invalid properties with the reasons. Usually used together with valid?
111
+ # @return Array for valid properties with the reasons
112
+ def list_invalid_properties
113
+ invalid_properties = Array.new
114
+ if @first_name.nil?
115
+ invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
116
+ end
117
+
118
+ if @last_name.nil?
119
+ invalid_properties.push('invalid value for "last_name", last_name cannot be nil.')
120
+ end
121
+
122
+ if @street.nil?
123
+ invalid_properties.push('invalid value for "street", street cannot be nil.')
124
+ end
125
+
126
+ if @phone_number.nil?
127
+ invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
128
+ end
129
+
130
+ if @mobile_provider.nil?
131
+ invalid_properties.push('invalid value for "mobile_provider", mobile_provider cannot be nil.')
132
+ end
133
+
134
+ if @transfer_reason_code.nil?
135
+ invalid_properties.push('invalid value for "transfer_reason_code", transfer_reason_code cannot be nil.')
136
+ end
137
+
138
+ if @identity_card_type.nil?
139
+ invalid_properties.push('invalid value for "identity_card_type", identity_card_type cannot be nil.')
140
+ end
141
+
142
+ if @identity_card_id.nil?
143
+ invalid_properties.push('invalid value for "identity_card_id", identity_card_id cannot be nil.')
144
+ end
145
+
146
+ invalid_properties
147
+ end
148
+
149
+ # Check to see if the all the properties in the model are valid
150
+ # @return true if the model is valid
151
+ def valid?
152
+ return false if @first_name.nil?
153
+ return false if @last_name.nil?
154
+ return false if @street.nil?
155
+ return false if @phone_number.nil?
156
+ return false if @mobile_provider.nil?
157
+ return false if @transfer_reason_code.nil?
158
+ return false if @identity_card_type.nil?
159
+ return false if @identity_card_id.nil?
160
+ true
161
+ end
162
+
163
+ # Checks equality by comparing each attribute.
164
+ # @param [Object] Object to be compared
165
+ def ==(o)
166
+ return true if self.equal?(o)
167
+ self.class == o.class &&
168
+ first_name == o.first_name &&
169
+ last_name == o.last_name &&
170
+ street == o.street &&
171
+ phone_number == o.phone_number &&
172
+ mobile_provider == o.mobile_provider &&
173
+ transfer_reason_code == o.transfer_reason_code &&
174
+ identity_card_type == o.identity_card_type &&
175
+ identity_card_id == o.identity_card_id
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
+ [first_name, last_name, street, phone_number, mobile_provider, transfer_reason_code, identity_card_type, identity_card_id].hash
188
+ end
189
+
190
+ require 'active_support/core_ext/hash'
191
+ require 'active_support/hash_with_indifferent_access.rb'
192
+ # Builds the object from hash
193
+ # @param [Hash] attributes Model attributes in the form of hash
194
+ # @return [Object] Returns the model itself
195
+ def build_from_hash(attributes)
196
+ return nil unless attributes.is_a?(Hash)
197
+ self.class.openapi_types.each_pair do |key, type|
198
+ if type =~ /\AArray<(.*)>/i
199
+ # check to ensure the input is an array given that the the attribute
200
+ # is documented as an array but the input is not
201
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
202
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
203
+ end
204
+ elsif !attributes[self.class.attribute_map[key]].nil?
205
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
206
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
207
+ end
208
+
209
+ self
210
+ end
211
+
212
+ # Deserializes the data based on type
213
+ # @param string type Data type
214
+ # @param string value Value to be deserialized
215
+ # @return [Object] Deserialized data
216
+ def _deserialize(type, value)
217
+ case type.to_sym
218
+ when :DateTime
219
+ DateTime.parse(value)
220
+ when :Date
221
+ Date.parse(value)
222
+ when :String
223
+ value.to_s
224
+ when :Integer
225
+ value.to_i
226
+ when :Float
227
+ value.to_f
228
+ when :Boolean
229
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
230
+ true
231
+ else
232
+ false
233
+ end
234
+ when :Object
235
+ # generic object (usually a Hash), return directly
236
+ value
237
+ when /\AArray<(?<inner_type>.+)>\z/
238
+ inner_type = Regexp.last_match[:inner_type]
239
+ value.map { |v| _deserialize(inner_type, v) }
240
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
241
+ k_type = Regexp.last_match[:k_type]
242
+ v_type = Regexp.last_match[:v_type]
243
+ {}.tap do |hash|
244
+ value.each do |k, v|
245
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
246
+ end
247
+ end
248
+ else # model
249
+ temp_model = TransferZero.const_get(type).new
250
+ temp_model.build_from_hash(value)
251
+ end
252
+ end
253
+
254
+ # Returns the string representation of the object
255
+ # @return [String] String presentation of the object
256
+ def to_s
257
+ to_hash.to_s
258
+ end
259
+
260
+ # to_body is an alias to to_hash (backward compatibility)
261
+ # @return [Hash] Returns the object in the form of hash
262
+ def to_body
263
+ to_hash
264
+ end
265
+
266
+ # Returns the object in the form of hash
267
+ # @return [Hash] Returns the object in the form of hash
268
+ def to_hash
269
+ hash = {}
270
+ self.class.attribute_map.each_pair do |attr, param|
271
+ value = self.send(attr)
272
+ next if value.nil?
273
+ hash[param] = _to_hash(value)
274
+ end
275
+ ::ActiveSupport::HashWithIndifferentAccess.new(hash)
276
+ end
277
+
278
+ def [](key)
279
+ to_hash[key]
280
+ end
281
+
282
+ def dig(*args)
283
+ to_hash.dig(*args)
284
+ end
285
+
286
+ # Outputs non-array value in the form of hash
287
+ # For object, use to_hash. Otherwise, just return the value
288
+ # @param [Object] value Any valid value
289
+ # @return [Hash] Returns the value in the form of hash
290
+ def _to_hash(value)
291
+ if value.is_a?(Array)
292
+ value.compact.map { |v| _to_hash(v) }
293
+ elsif value.is_a?(Hash)
294
+ {}.tap do |hash|
295
+ value.each { |k, v| hash[k] = _to_hash(v) }
296
+ end
297
+ elsif value.respond_to? :to_hash
298
+ value.to_hash
299
+ else
300
+ value
301
+ end
302
+ end
303
+
304
+ end
305
+
306
+ end
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- # ```JSON \"details\": { \"first_name\": \"First\", // Mandatory for personal payouts; \"last_name\": \"Last\", // Mandatory for personal payouts; \"name\" \"First Ltd\", // Mandatory for business payouts; \"contact_first_name\" \"Business\", // Mandatory for business payouts; \"contact_last_name\" \"Contact\", // Mandatory for business payouts; \"street\": \"Main Street\", \"postal_code\": \"AB0001\", \"city\": \"Cape Town\", \"email\": \"recipient@email.com\", \"bank_code\": \"334810\", \"bank_account\": \"12345678\", \"phone_number\": \"+27119785313\", \"transfer_reason_code\": \"185\", \"legal_entity_type\": \"sole_proprietorship\", // Optional; Default value is \"person\"; Mandatory for business payouts; \"nature_of_business\": \"Mining\", // Optional for business payouts; \"registration_number\": \"17364BGC\" // Optional for business payouts; } ``` See [ZAR Bank](https://docs.transferzero.com/docs/payout-details/#zarbank) documentation for the bank_code and transfer_reason_code lists
16
+ # ```JSON \"details\": { \"first_name\": \"First\", // Mandatory for personal payouts; \"last_name\": \"Last\", // Mandatory for personal payouts; \"name\" \"First Ltd\", // Mandatory for business payouts; \"contact_first_name\" \"Business\", // Mandatory for business payouts; \"contact_last_name\" \"Contact\", // Mandatory for business payouts; \"street\": \"Main Street\", \"postal_code\": \"AB0001\", \"city\": \"Cape Town\", \"email\": \"recipient@email.com\", \"bank_name\" 'Bank Zero', // Optional \"bank_code\": \"334810\", \"bank_account\": \"12345678\", \"phone_number\": \"+27119785313\", \"transfer_reason_code\": \"185\", \"legal_entity_type\": \"sole_proprietorship\", // Optional; Default value is \"person\"; Mandatory for business payouts; \"nature_of_business\": \"mining\", // Optional for business payouts; \"registration_number\": \"17364BGC\" // Optional for business payouts; } ``` See [ZAR Bank](https://docs.transferzero.com/docs/payout-details/#zarbank) documentation for the bank_code and transfer_reason_code lists
17
17
  class PayoutMethodDetailsZARBank
18
18
  attr_accessor :first_name
19
19
 
@@ -21,6 +21,7 @@ class PayoutMethodMobileProviderEnum
21
21
  MTN = "mtn".freeze
22
22
  AIRTEL = "airtel".freeze
23
23
  VODAFONE = "vodafone".freeze
24
+ MPESA = "mpesa".freeze
24
25
 
25
26
  # Builds the enum from string
26
27
  # @param [String] The enum value in the form of the string
@@ -11,5 +11,5 @@ OpenAPI Generator version: 4.0.0-beta3
11
11
  =end
12
12
 
13
13
  module TransferZero
14
- VERSION = '1.14.2'
14
+ VERSION = '1.15.0'
15
15
  end
@@ -0,0 +1,101 @@
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 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for TransferZero::PayoutMethodDetailsKESBank
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe 'PayoutMethodDetailsKESBank' do
21
+ before do
22
+ # run before each test
23
+ @instance = TransferZero::PayoutMethodDetailsKESBank.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of PayoutMethodDetailsKESBank' do
31
+ it 'should create an instance of PayoutMethodDetailsKESBank' do
32
+ expect(@instance).to be_instance_of(TransferZero::PayoutMethodDetailsKESBank)
33
+ end
34
+ end
35
+ describe 'test attribute "first_name"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ describe 'test attribute "last_name"' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ describe 'test attribute "bank_code"' do
48
+ it 'should work' do
49
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
50
+ end
51
+ end
52
+
53
+ describe 'test attribute "street"' do
54
+ it 'should work' do
55
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
56
+ end
57
+ end
58
+
59
+ describe 'test attribute "bank_account"' do
60
+ it 'should work' do
61
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
62
+ end
63
+ end
64
+
65
+ describe 'test attribute "bank_name"' do
66
+ it 'should work' do
67
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
68
+ end
69
+ end
70
+
71
+ describe 'test attribute "branch_code"' do
72
+ it 'should work' do
73
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
74
+ end
75
+ end
76
+
77
+ describe 'test attribute "swift_code"' do
78
+ it 'should work' do
79
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
80
+ end
81
+ end
82
+
83
+ describe 'test attribute "transfer_reason_code"' do
84
+ it 'should work' do
85
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
86
+ end
87
+ end
88
+
89
+ describe 'test attribute "identity_card_type"' do
90
+ it 'should work' do
91
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
92
+ end
93
+ end
94
+
95
+ describe 'test attribute "identity_card_id"' do
96
+ it 'should work' do
97
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
98
+ end
99
+ end
100
+
101
+ end
@@ -0,0 +1,83 @@
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 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for TransferZero::PayoutMethodDetailsKESMobile
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe 'PayoutMethodDetailsKESMobile' do
21
+ before do
22
+ # run before each test
23
+ @instance = TransferZero::PayoutMethodDetailsKESMobile.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of PayoutMethodDetailsKESMobile' do
31
+ it 'should create an instance of PayoutMethodDetailsKESMobile' do
32
+ expect(@instance).to be_instance_of(TransferZero::PayoutMethodDetailsKESMobile)
33
+ end
34
+ end
35
+ describe 'test attribute "first_name"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ describe 'test attribute "last_name"' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ describe 'test attribute "street"' do
48
+ it 'should work' do
49
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
50
+ end
51
+ end
52
+
53
+ describe 'test attribute "phone_number"' do
54
+ it 'should work' do
55
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
56
+ end
57
+ end
58
+
59
+ describe 'test attribute "mobile_provider"' do
60
+ it 'should work' do
61
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
62
+ end
63
+ end
64
+
65
+ describe 'test attribute "transfer_reason_code"' do
66
+ it 'should work' do
67
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
68
+ end
69
+ end
70
+
71
+ describe 'test attribute "identity_card_type"' do
72
+ it 'should work' do
73
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
74
+ end
75
+ end
76
+
77
+ describe 'test attribute "identity_card_id"' do
78
+ it 'should work' do
79
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
80
+ end
81
+ end
82
+
83
+ end