transferzero-sdk 1.9.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +93 -0
  3. data/README.md +10 -4
  4. data/docs/PayoutMethodCashProviderEnum.md +16 -0
  5. data/docs/PayoutMethodDetails.md +6 -4
  6. data/docs/PayoutMethodDetailsXOFCash.md +27 -0
  7. data/docs/ProofOfPayment.md +23 -0
  8. data/docs/ProofOfPaymentListResponse.md +17 -0
  9. data/docs/Recipient.md +2 -0
  10. data/docs/RecipientStateReasonDetails.md +23 -0
  11. data/docs/RecipientsApi.md +62 -0
  12. data/docs/Sender.md +2 -0
  13. data/lib/transferzero-sdk.rb +5 -0
  14. data/lib/transferzero-sdk/api/recipients_api.rb +54 -0
  15. data/lib/transferzero-sdk/api_client.rb +1 -1
  16. data/lib/transferzero-sdk/models/payout_method_cash_provider_enum.rb +31 -0
  17. data/lib/transferzero-sdk/models/payout_method_details.rb +29 -19
  18. data/lib/transferzero-sdk/models/payout_method_details_xof_bank.rb +1 -1
  19. data/lib/transferzero-sdk/models/payout_method_details_xof_cash.rb +263 -0
  20. data/lib/transferzero-sdk/models/payout_method_details_xof_mobile.rb +1 -1
  21. data/lib/transferzero-sdk/models/proof_of_payment.rb +233 -0
  22. data/lib/transferzero-sdk/models/proof_of_payment_list_response.rb +204 -0
  23. data/lib/transferzero-sdk/models/recipient.rb +10 -1
  24. data/lib/transferzero-sdk/models/recipient_state_reason_details.rb +235 -0
  25. data/lib/transferzero-sdk/models/sender.rb +11 -1
  26. data/lib/transferzero-sdk/version.rb +1 -1
  27. data/spec/models/payout_method_cash_provider_enum_spec.rb +35 -0
  28. data/spec/models/payout_method_details_xof_cash_spec.rb +71 -0
  29. data/spec/models/proof_of_payment_list_response_spec.rb +41 -0
  30. data/spec/models/proof_of_payment_spec.rb +59 -0
  31. data/spec/models/recipient_state_reason_details_spec.rb +59 -0
  32. metadata +33 -12
@@ -0,0 +1,235 @@
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 RecipientStateReasonDetails
17
+ # Status code of failed transaction
18
+ attr_accessor :code
19
+
20
+ # Main category of error, it could be paid, unknown, pickupable, temporary_error, recipient_error, sender_error
21
+ attr_accessor :category
22
+
23
+ # Tiered messages
24
+ attr_accessor :messages
25
+
26
+ # Public, human readable, detailed error message
27
+ attr_accessor :description
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'code' => :'code',
33
+ :'category' => :'category',
34
+ :'messages' => :'messages',
35
+ :'description' => :'description'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.openapi_types
41
+ {
42
+ :'code' => :'String',
43
+ :'category' => :'String',
44
+ :'messages' => :'Array<String>',
45
+ :'description' => :'String'
46
+ }
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::RecipientStateReasonDetails` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::RecipientStateReasonDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'code')
65
+ self.code = attributes[:'code']
66
+ end
67
+
68
+ if attributes.key?(:'category')
69
+ self.category = attributes[:'category']
70
+ end
71
+
72
+ if attributes.key?(:'messages')
73
+ if (value = attributes[:'messages']).is_a?(Array)
74
+ self.messages = value
75
+ end
76
+ end
77
+
78
+ if attributes.key?(:'description')
79
+ self.description = attributes[:'description']
80
+ end
81
+ end
82
+
83
+ # Show invalid properties with the reasons. Usually used together with valid?
84
+ # @return Array for valid properties with the reasons
85
+ def list_invalid_properties
86
+ invalid_properties = Array.new
87
+ invalid_properties
88
+ end
89
+
90
+ # Check to see if the all the properties in the model are valid
91
+ # @return true if the model is valid
92
+ def valid?
93
+ true
94
+ end
95
+
96
+ # Checks equality by comparing each attribute.
97
+ # @param [Object] Object to be compared
98
+ def ==(o)
99
+ return true if self.equal?(o)
100
+ self.class == o.class &&
101
+ code == o.code &&
102
+ category == o.category &&
103
+ messages == o.messages &&
104
+ description == o.description
105
+ end
106
+
107
+ # @see the `==` method
108
+ # @param [Object] Object to be compared
109
+ def eql?(o)
110
+ self == o
111
+ end
112
+
113
+ # Calculates hash code according to all attributes.
114
+ # @return [Integer] Hash code
115
+ def hash
116
+ [code, category, messages, description].hash
117
+ end
118
+
119
+ require 'active_support/core_ext/hash'
120
+ require 'active_support/hash_with_indifferent_access.rb'
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def build_from_hash(attributes)
125
+ return nil unless attributes.is_a?(Hash)
126
+ self.class.openapi_types.each_pair do |key, type|
127
+ if type =~ /\AArray<(.*)>/i
128
+ # check to ensure the input is an array given that the the attribute
129
+ # is documented as an array but the input is not
130
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
131
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
132
+ end
133
+ elsif !attributes[self.class.attribute_map[key]].nil?
134
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
135
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
136
+ end
137
+
138
+ self
139
+ end
140
+
141
+ # Deserializes the data based on type
142
+ # @param string type Data type
143
+ # @param string value Value to be deserialized
144
+ # @return [Object] Deserialized data
145
+ def _deserialize(type, value)
146
+ case type.to_sym
147
+ when :DateTime
148
+ DateTime.parse(value)
149
+ when :Date
150
+ Date.parse(value)
151
+ when :String
152
+ value.to_s
153
+ when :Integer
154
+ value.to_i
155
+ when :Float
156
+ value.to_f
157
+ when :Boolean
158
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
159
+ true
160
+ else
161
+ false
162
+ end
163
+ when :Object
164
+ # generic object (usually a Hash), return directly
165
+ value
166
+ when /\AArray<(?<inner_type>.+)>\z/
167
+ inner_type = Regexp.last_match[:inner_type]
168
+ value.map { |v| _deserialize(inner_type, v) }
169
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
170
+ k_type = Regexp.last_match[:k_type]
171
+ v_type = Regexp.last_match[:v_type]
172
+ {}.tap do |hash|
173
+ value.each do |k, v|
174
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
175
+ end
176
+ end
177
+ else # model
178
+ temp_model = TransferZero.const_get(type).new
179
+ temp_model.build_from_hash(value)
180
+ end
181
+ end
182
+
183
+ # Returns the string representation of the object
184
+ # @return [String] String presentation of the object
185
+ def to_s
186
+ to_hash.to_s
187
+ end
188
+
189
+ # to_body is an alias to to_hash (backward compatibility)
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_body
192
+ to_hash
193
+ end
194
+
195
+ # Returns the object in the form of hash
196
+ # @return [Hash] Returns the object in the form of hash
197
+ def to_hash
198
+ hash = {}
199
+ self.class.attribute_map.each_pair do |attr, param|
200
+ value = self.send(attr)
201
+ next if value.nil?
202
+ hash[param] = _to_hash(value)
203
+ end
204
+ ::ActiveSupport::HashWithIndifferentAccess.new(hash)
205
+ end
206
+
207
+ def [](key)
208
+ to_hash[key]
209
+ end
210
+
211
+ def dig(*args)
212
+ to_hash.dig(*args)
213
+ end
214
+
215
+ # Outputs non-array value in the form of hash
216
+ # For object, use to_hash. Otherwise, just return the value
217
+ # @param [Object] value Any valid value
218
+ # @return [Hash] Returns the value in the form of hash
219
+ def _to_hash(value)
220
+ if value.is_a?(Array)
221
+ value.compact.map { |v| _to_hash(v) }
222
+ elsif value.is_a?(Hash)
223
+ {}.tap do |hash|
224
+ value.each { |k, v| hash[k] = _to_hash(v) }
225
+ end
226
+ elsif value.respond_to? :to_hash
227
+ value.to_hash
228
+ else
229
+ value
230
+ end
231
+ end
232
+
233
+ end
234
+
235
+ end
@@ -55,6 +55,9 @@ class Sender
55
55
  # Document to be identified. The identification type can be one of the following: - `DL`: Driving License - `PP`: International Passport - `ID`: National ID - `OT`: Other
56
56
  attr_accessor :identification_type
57
57
 
58
+ # Determines language of the served content. Defaults to English
59
+ attr_accessor :lang
60
+
58
61
  # Name of sender (used only with a Business sender)
59
62
  attr_accessor :name
60
63
 
@@ -196,6 +199,7 @@ class Sender
196
199
  :'address_description' => :'address_description',
197
200
  :'identification_number' => :'identification_number',
198
201
  :'identification_type' => :'identification_type',
202
+ :'lang' => :'lang',
199
203
  :'name' => :'name',
200
204
  :'first_name' => :'first_name',
201
205
  :'middle_name' => :'middle_name',
@@ -250,6 +254,7 @@ class Sender
250
254
  :'address_description' => :'String',
251
255
  :'identification_number' => :'String',
252
256
  :'identification_type' => :'String',
257
+ :'lang' => :'String',
253
258
  :'name' => :'String',
254
259
  :'first_name' => :'String',
255
260
  :'middle_name' => :'String',
@@ -358,6 +363,10 @@ class Sender
358
363
  self.identification_type = attributes[:'identification_type']
359
364
  end
360
365
 
366
+ if attributes.key?(:'lang')
367
+ self.lang = attributes[:'lang']
368
+ end
369
+
361
370
  if attributes.key?(:'name')
362
371
  self.name = attributes[:'name']
363
372
  end
@@ -633,6 +642,7 @@ class Sender
633
642
  address_description == o.address_description &&
634
643
  identification_number == o.identification_number &&
635
644
  identification_type == o.identification_type &&
645
+ lang == o.lang &&
636
646
  name == o.name &&
637
647
  first_name == o.first_name &&
638
648
  middle_name == o.middle_name &&
@@ -678,7 +688,7 @@ class Sender
678
688
  # Calculates hash code according to all attributes.
679
689
  # @return [Integer] Hash code
680
690
  def hash
681
- [id, type, state, country, street, postal_code, city, phone_country, phone_number, email, ip, address_description, identification_number, identification_type, name, first_name, middle_name, last_name, birth_date, occupation, nationality, legal_entity_type, registration_date, registration_number, nature_of_business, source_of_funds, custom_source_of_funds, core_business_activity, purpose_of_opening_account, office_phone, vat_registration_number, financial_regulator, regulatory_licence_number, contact_person_email, trading_country, trading_address, number_monthly_transactions, amount_monthly_transactions, documents, metadata, errors, onboarding_status, politically_exposed_people, external_id, city_of_birth, country_of_birth, gender, created_at].hash
691
+ [id, type, state, country, street, postal_code, city, phone_country, phone_number, email, ip, address_description, identification_number, identification_type, lang, name, first_name, middle_name, last_name, birth_date, occupation, nationality, legal_entity_type, registration_date, registration_number, nature_of_business, source_of_funds, custom_source_of_funds, core_business_activity, purpose_of_opening_account, office_phone, vat_registration_number, financial_regulator, regulatory_licence_number, contact_person_email, trading_country, trading_address, number_monthly_transactions, amount_monthly_transactions, documents, metadata, errors, onboarding_status, politically_exposed_people, external_id, city_of_birth, country_of_birth, gender, created_at].hash
682
692
  end
683
693
 
684
694
  require 'active_support/core_ext/hash'
@@ -11,5 +11,5 @@ OpenAPI Generator version: 4.0.0-beta3
11
11
  =end
12
12
 
13
13
  module TransferZero
14
- VERSION = '1.9.0'
14
+ VERSION = '1.10.0'
15
15
  end
@@ -0,0 +1,35 @@
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::PayoutMethodCashProviderEnum
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe 'PayoutMethodCashProviderEnum' do
21
+ before do
22
+ # run before each test
23
+ @instance = TransferZero::PayoutMethodCashProviderEnum.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of PayoutMethodCashProviderEnum' do
31
+ it 'should create an instance of PayoutMethodCashProviderEnum' do
32
+ expect(@instance).to be_instance_of(TransferZero::PayoutMethodCashProviderEnum)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,71 @@
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::PayoutMethodDetailsXOFCash
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe 'PayoutMethodDetailsXOFCash' do
21
+ before do
22
+ # run before each test
23
+ @instance = TransferZero::PayoutMethodDetailsXOFCash.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of PayoutMethodDetailsXOFCash' do
31
+ it 'should create an instance of PayoutMethodDetailsXOFCash' do
32
+ expect(@instance).to be_instance_of(TransferZero::PayoutMethodDetailsXOFCash)
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 "identity_card_id"' 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 "identity_card_type"' 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 "phone_number"' 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 "cash_provider"' 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
+ end
@@ -0,0 +1,41 @@
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::ProofOfPaymentListResponse
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe 'ProofOfPaymentListResponse' do
21
+ before do
22
+ # run before each test
23
+ @instance = TransferZero::ProofOfPaymentListResponse.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of ProofOfPaymentListResponse' do
31
+ it 'should create an instance of ProofOfPaymentListResponse' do
32
+ expect(@instance).to be_instance_of(TransferZero::ProofOfPaymentListResponse)
33
+ end
34
+ end
35
+ describe 'test attribute "object"' 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
+ end
@@ -0,0 +1,59 @@
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::ProofOfPayment
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe 'ProofOfPayment' do
21
+ before do
22
+ # run before each test
23
+ @instance = TransferZero::ProofOfPayment.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of ProofOfPayment' do
31
+ it 'should create an instance of ProofOfPayment' do
32
+ expect(@instance).to be_instance_of(TransferZero::ProofOfPayment)
33
+ end
34
+ end
35
+ describe 'test attribute "id"' 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 "file_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 "thumbnail"' 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 "url"' 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
+ end