budgea_client 5.3.8 → 5.4.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +11 -10
  3. data/README.md +14 -4
  4. data/budgea_openapi.json +329 -27
  5. data/config.json +1 -1
  6. data/docs/AuthenticationApi.md +62 -0
  7. data/docs/Connector.md +1 -0
  8. data/docs/ConnectorSource.md +7 -0
  9. data/docs/Field.md +2 -1
  10. data/docs/InlineResponse2005.md +1 -3
  11. data/docs/PFMApi.md +9 -12
  12. data/docs/Payment.md +15 -0
  13. data/docs/PaymentBeneficiary.md +13 -0
  14. data/docs/PaymentBeneficiaryRequest.md +12 -0
  15. data/docs/PaymentData.md +13 -0
  16. data/docs/PaymentErrorCode.md +7 -0
  17. data/docs/PaymentInstruction.md +12 -0
  18. data/docs/PaymentInstructionRequest.md +13 -0
  19. data/docs/PaymentRequest.md +13 -0
  20. data/docs/PaymentState.md +7 -0
  21. data/docs/PaymentsApi.md +61 -0
  22. data/lib/budgea_client.rb +9 -0
  23. data/lib/budgea_client/api/authentication_api.rb +60 -0
  24. data/lib/budgea_client/api/payments_api.rb +75 -0
  25. data/lib/budgea_client/api/pfm_api.rb +14 -26
  26. data/lib/budgea_client/models/connection.rb +2 -4
  27. data/lib/budgea_client/models/connector.rb +15 -4
  28. data/lib/budgea_client/models/connector_source.rb +79 -4
  29. data/lib/budgea_client/models/field.rb +18 -5
  30. data/lib/budgea_client/models/inline_response_200_5.rb +7 -37
  31. data/lib/budgea_client/models/payment.rb +255 -0
  32. data/lib/budgea_client/models/payment_beneficiary.rb +235 -0
  33. data/lib/budgea_client/models/payment_beneficiary_request.rb +240 -0
  34. data/lib/budgea_client/models/payment_data.rb +246 -0
  35. data/lib/budgea_client/models/payment_error_code.rb +44 -0
  36. data/lib/budgea_client/models/payment_instruction.rb +224 -0
  37. data/lib/budgea_client/models/payment_instruction_request.rb +254 -0
  38. data/lib/budgea_client/models/payment_request.rb +246 -0
  39. data/lib/budgea_client/models/payment_state.rb +35 -0
  40. data/lib/budgea_client/version.rb +1 -1
  41. data/spec/api/payments_api_spec.rb +46 -0
  42. data/spec/models/payment_beneficiary_request_spec.rb +65 -0
  43. data/spec/models/payment_beneficiary_spec.rb +35 -0
  44. data/spec/models/payment_data_spec.rb +71 -0
  45. data/spec/models/payment_error_code_spec.rb +35 -0
  46. data/spec/models/payment_instruction_request_spec.rb +35 -0
  47. data/spec/models/payment_instruction_spec.rb +35 -0
  48. data/spec/models/payment_request_spec.rb +71 -0
  49. data/spec/models/payment_spec.rb +35 -0
  50. data/spec/models/payment_state_spec.rb +35 -0
  51. metadata +42 -3
  52. data/pkg/budgea_client-5.3.7.gem +0 -0
@@ -0,0 +1,44 @@
1
+ =begin
2
+ #Budgea API Documentation
3
+
4
+ #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
+
6
+ OpenAPI spec version: 2.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.19
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module BudgeaClient
16
+ class PaymentErrorCode
17
+
18
+ INVALID_EMITTER = 'invalidEmitter'.freeze
19
+ INSUFFICIENT_FUNDS = 'insufficientFunds'.freeze
20
+ INVALID_AMOUNT = 'invalidAmount'.freeze
21
+ INVALID_CURRENCY = 'invalidCurrency'.freeze
22
+ INVALID_DATE = 'invalidDate'.freeze
23
+ INVALID_BENEFICIARY = 'invalidBeneficiary'.freeze
24
+ INVALID_LABEL = 'invalidLabel'.freeze
25
+ REGULATORY_REASON = 'regulatoryReason'.freeze
26
+ AUTHENTICATION_FAILED = 'authenticationFailed'.freeze
27
+ NO_ANSWER_FROM_CUSTOMER = 'noAnswerFromCustomer'.freeze
28
+ NO_SPECIFIED_REASON = 'noSpecifiedReason'.freeze
29
+ CANCELLED_BY_USER = 'CancelledByUser'.freeze
30
+ BANK_MESSAGE = 'bankMessage'.freeze
31
+ INVALID_VALUE = 'invalidValue'.freeze
32
+ ACTION_NEEDED = 'actionNeeded'.freeze
33
+ BUG = 'bug'.freeze
34
+
35
+ # Builds the enum from string
36
+ # @param [String] The enum value in the form of the string
37
+ # @return [String] The enum value
38
+ def build_from_hash(value)
39
+ constantValues = PaymentErrorCode.constants.select { |c| PaymentErrorCode::const_get(c) == value }
40
+ raise "Invalid ENUM value #{value} for class #PaymentErrorCode" if constantValues.empty?
41
+ value
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,224 @@
1
+ =begin
2
+ #Budgea API Documentation
3
+
4
+ #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
+
6
+ OpenAPI spec version: 2.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.19
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module BudgeaClient
16
+ class PaymentInstruction
17
+ # An identifier for the transaction.
18
+ attr_accessor :reference_id
19
+
20
+ # The currency of the payment amount.
21
+ attr_accessor :currency
22
+
23
+ # Label of the payment.
24
+ attr_accessor :label
25
+
26
+ # The execution date type of the payment: first_open_day for a standard banking transfer, deferred for a scheduled transfer, instant for instant payment. Other values might be supported later.
27
+ attr_accessor :execution_date_type
28
+
29
+ attr_accessor :beneficiary
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'reference_id' => :'reference_id',
35
+ :'currency' => :'currency',
36
+ :'label' => :'label',
37
+ :'execution_date_type' => :'execution_date_type',
38
+ :'beneficiary' => :'beneficiary'
39
+ }
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.swagger_types
44
+ {
45
+ :'reference_id' => :'String',
46
+ :'currency' => :'String',
47
+ :'label' => :'String',
48
+ :'execution_date_type' => :'String',
49
+ :'beneficiary' => :'PaymentBeneficiary'
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ return unless attributes.is_a?(Hash)
57
+
58
+ # convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
60
+
61
+ if attributes.has_key?(:'reference_id')
62
+ self.reference_id = attributes[:'reference_id']
63
+ end
64
+
65
+ if attributes.has_key?(:'currency')
66
+ self.currency = attributes[:'currency']
67
+ end
68
+
69
+ if attributes.has_key?(:'label')
70
+ self.label = attributes[:'label']
71
+ end
72
+
73
+ if attributes.has_key?(:'execution_date_type')
74
+ self.execution_date_type = attributes[:'execution_date_type']
75
+ end
76
+
77
+ if attributes.has_key?(:'beneficiary')
78
+ self.beneficiary = attributes[:'beneficiary']
79
+ end
80
+ end
81
+
82
+ # Show invalid properties with the reasons. Usually used together with valid?
83
+ # @return Array for valid properties with the reasons
84
+ def list_invalid_properties
85
+ invalid_properties = Array.new
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
+ true
93
+ end
94
+
95
+ # Checks equality by comparing each attribute.
96
+ # @param [Object] Object to be compared
97
+ def ==(o)
98
+ return true if self.equal?(o)
99
+ self.class == o.class &&
100
+ reference_id == o.reference_id &&
101
+ currency == o.currency &&
102
+ label == o.label &&
103
+ execution_date_type == o.execution_date_type &&
104
+ beneficiary == o.beneficiary
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 [Fixnum] Hash code
115
+ def hash
116
+ [reference_id, currency, label, execution_date_type, beneficiary].hash
117
+ end
118
+
119
+ # Builds the object from hash
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ # @return [Object] Returns the model itself
122
+ def build_from_hash(attributes)
123
+ return nil unless attributes.is_a?(Hash)
124
+ self.class.swagger_types.each_pair do |key, type|
125
+ if type =~ /\AArray<(.*)>/i
126
+ # check to ensure the input is an array given that the attribute
127
+ # is documented as an array but the input is not
128
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
129
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
130
+ end
131
+ elsif !attributes[self.class.attribute_map[key]].nil?
132
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
133
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
134
+ end
135
+
136
+ self
137
+ end
138
+
139
+ # Deserializes the data based on type
140
+ # @param string type Data type
141
+ # @param string value Value to be deserialized
142
+ # @return [Object] Deserialized data
143
+ def _deserialize(type, value)
144
+ case type.to_sym
145
+ when :DateTime
146
+ DateTime.parse(value)
147
+ when :Date
148
+ Date.parse(value)
149
+ when :String
150
+ value.to_s
151
+ when :Integer
152
+ value.to_i
153
+ when :Float
154
+ value.to_f
155
+ when :BOOLEAN
156
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
157
+ true
158
+ else
159
+ false
160
+ end
161
+ when :Object
162
+ # generic object (usually a Hash), return directly
163
+ value
164
+ when /\AArray<(?<inner_type>.+)>\z/
165
+ inner_type = Regexp.last_match[:inner_type]
166
+ value.map { |v| _deserialize(inner_type, v) }
167
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
168
+ k_type = Regexp.last_match[:k_type]
169
+ v_type = Regexp.last_match[:v_type]
170
+ {}.tap do |hash|
171
+ value.each do |k, v|
172
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
173
+ end
174
+ end
175
+ else # model
176
+ temp_model = BudgeaClient.const_get(type).new
177
+ temp_model.build_from_hash(value)
178
+ end
179
+ end
180
+
181
+ # Returns the string representation of the object
182
+ # @return [String] String presentation of the object
183
+ def to_s
184
+ to_hash.to_s
185
+ end
186
+
187
+ # to_body is an alias to to_hash (backward compatibility)
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_body
190
+ to_hash
191
+ end
192
+
193
+ # Returns the object in the form of hash
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_hash
196
+ hash = {}
197
+ self.class.attribute_map.each_pair do |attr, param|
198
+ value = self.send(attr)
199
+ next if value.nil?
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ hash
203
+ end
204
+
205
+ # Outputs non-array value in the form of hash
206
+ # For object, use to_hash. Otherwise, just return the value
207
+ # @param [Object] value Any valid value
208
+ # @return [Hash] Returns the value in the form of hash
209
+ def _to_hash(value)
210
+ if value.is_a?(Array)
211
+ value.compact.map { |v| _to_hash(v) }
212
+ elsif value.is_a?(Hash)
213
+ {}.tap do |hash|
214
+ value.each { |k, v| hash[k] = _to_hash(v) }
215
+ end
216
+ elsif value.respond_to? :to_hash
217
+ value.to_hash
218
+ else
219
+ value
220
+ end
221
+ end
222
+
223
+ end
224
+ end
@@ -0,0 +1,254 @@
1
+ =begin
2
+ #Budgea API Documentation
3
+
4
+ #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
+
6
+ OpenAPI spec version: 2.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.19
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module BudgeaClient
16
+ class PaymentInstructionRequest
17
+ # An identifier for the transaction, set by the emitter client. If not provided, a random UUID value will be generated.
18
+ attr_accessor :reference_id
19
+
20
+ # The amount of the payment.
21
+ attr_accessor :amount
22
+
23
+ # The currency code of the payment amount, a per ISO 4217.
24
+ attr_accessor :currency
25
+
26
+ # Label of the payment.
27
+ attr_accessor :label
28
+
29
+ # The execution date type of the payment: first_open_day for a standard banking transfer, deferred for a scheduled transfer, instant for instant payment. Other values might be supported later.
30
+ attr_accessor :execution_date_type
31
+
32
+ attr_accessor :beneficiary
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'reference_id' => :'reference_id',
38
+ :'amount' => :'amount',
39
+ :'currency' => :'currency',
40
+ :'label' => :'label',
41
+ :'execution_date_type' => :'execution_date_type',
42
+ :'beneficiary' => :'beneficiary'
43
+ }
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.swagger_types
48
+ {
49
+ :'reference_id' => :'String',
50
+ :'amount' => :'Integer',
51
+ :'currency' => :'String',
52
+ :'label' => :'String',
53
+ :'execution_date_type' => :'String',
54
+ :'beneficiary' => :'PaymentBeneficiaryRequest'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param [Hash] attributes Model attributes in the form of hash
60
+ def initialize(attributes = {})
61
+ return unless attributes.is_a?(Hash)
62
+
63
+ # convert string to symbol for hash key
64
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
65
+
66
+ if attributes.has_key?(:'reference_id')
67
+ self.reference_id = attributes[:'reference_id']
68
+ end
69
+
70
+ if attributes.has_key?(:'amount')
71
+ self.amount = attributes[:'amount']
72
+ end
73
+
74
+ if attributes.has_key?(:'currency')
75
+ self.currency = attributes[:'currency']
76
+ end
77
+
78
+ if attributes.has_key?(:'label')
79
+ self.label = attributes[:'label']
80
+ end
81
+
82
+ if attributes.has_key?(:'execution_date_type')
83
+ self.execution_date_type = attributes[:'execution_date_type']
84
+ end
85
+
86
+ if attributes.has_key?(:'beneficiary')
87
+ self.beneficiary = attributes[:'beneficiary']
88
+ end
89
+ end
90
+
91
+ # Show invalid properties with the reasons. Usually used together with valid?
92
+ # @return Array for valid properties with the reasons
93
+ def list_invalid_properties
94
+ invalid_properties = Array.new
95
+ if @amount.nil?
96
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
97
+ end
98
+
99
+ if @currency.nil?
100
+ invalid_properties.push('invalid value for "currency", currency cannot be nil.')
101
+ end
102
+
103
+ if @label.nil?
104
+ invalid_properties.push('invalid value for "label", label cannot be nil.')
105
+ end
106
+
107
+ if @execution_date_type.nil?
108
+ invalid_properties.push('invalid value for "execution_date_type", execution_date_type cannot be nil.')
109
+ end
110
+
111
+ invalid_properties
112
+ end
113
+
114
+ # Check to see if the all the properties in the model are valid
115
+ # @return true if the model is valid
116
+ def valid?
117
+ return false if @amount.nil?
118
+ return false if @currency.nil?
119
+ return false if @label.nil?
120
+ return false if @execution_date_type.nil?
121
+ true
122
+ end
123
+
124
+ # Checks equality by comparing each attribute.
125
+ # @param [Object] Object to be compared
126
+ def ==(o)
127
+ return true if self.equal?(o)
128
+ self.class == o.class &&
129
+ reference_id == o.reference_id &&
130
+ amount == o.amount &&
131
+ currency == o.currency &&
132
+ label == o.label &&
133
+ execution_date_type == o.execution_date_type &&
134
+ beneficiary == o.beneficiary
135
+ end
136
+
137
+ # @see the `==` method
138
+ # @param [Object] Object to be compared
139
+ def eql?(o)
140
+ self == o
141
+ end
142
+
143
+ # Calculates hash code according to all attributes.
144
+ # @return [Fixnum] Hash code
145
+ def hash
146
+ [reference_id, amount, currency, label, execution_date_type, beneficiary].hash
147
+ end
148
+
149
+ # Builds the object from hash
150
+ # @param [Hash] attributes Model attributes in the form of hash
151
+ # @return [Object] Returns the model itself
152
+ def build_from_hash(attributes)
153
+ return nil unless attributes.is_a?(Hash)
154
+ self.class.swagger_types.each_pair do |key, type|
155
+ if type =~ /\AArray<(.*)>/i
156
+ # check to ensure the input is an array given that the attribute
157
+ # is documented as an array but the input is not
158
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
159
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
160
+ end
161
+ elsif !attributes[self.class.attribute_map[key]].nil?
162
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
163
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
164
+ end
165
+
166
+ self
167
+ end
168
+
169
+ # Deserializes the data based on type
170
+ # @param string type Data type
171
+ # @param string value Value to be deserialized
172
+ # @return [Object] Deserialized data
173
+ def _deserialize(type, value)
174
+ case type.to_sym
175
+ when :DateTime
176
+ DateTime.parse(value)
177
+ when :Date
178
+ Date.parse(value)
179
+ when :String
180
+ value.to_s
181
+ when :Integer
182
+ value.to_i
183
+ when :Float
184
+ value.to_f
185
+ when :BOOLEAN
186
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
187
+ true
188
+ else
189
+ false
190
+ end
191
+ when :Object
192
+ # generic object (usually a Hash), return directly
193
+ value
194
+ when /\AArray<(?<inner_type>.+)>\z/
195
+ inner_type = Regexp.last_match[:inner_type]
196
+ value.map { |v| _deserialize(inner_type, v) }
197
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
198
+ k_type = Regexp.last_match[:k_type]
199
+ v_type = Regexp.last_match[:v_type]
200
+ {}.tap do |hash|
201
+ value.each do |k, v|
202
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
203
+ end
204
+ end
205
+ else # model
206
+ temp_model = BudgeaClient.const_get(type).new
207
+ temp_model.build_from_hash(value)
208
+ end
209
+ end
210
+
211
+ # Returns the string representation of the object
212
+ # @return [String] String presentation of the object
213
+ def to_s
214
+ to_hash.to_s
215
+ end
216
+
217
+ # to_body is an alias to to_hash (backward compatibility)
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_body
220
+ to_hash
221
+ end
222
+
223
+ # Returns the object in the form of hash
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_hash
226
+ hash = {}
227
+ self.class.attribute_map.each_pair do |attr, param|
228
+ value = self.send(attr)
229
+ next if value.nil?
230
+ hash[param] = _to_hash(value)
231
+ end
232
+ hash
233
+ end
234
+
235
+ # Outputs non-array value in the form of hash
236
+ # For object, use to_hash. Otherwise, just return the value
237
+ # @param [Object] value Any valid value
238
+ # @return [Hash] Returns the value in the form of hash
239
+ def _to_hash(value)
240
+ if value.is_a?(Array)
241
+ value.compact.map { |v| _to_hash(v) }
242
+ elsif value.is_a?(Hash)
243
+ {}.tap do |hash|
244
+ value.each { |k, v| hash[k] = _to_hash(v) }
245
+ end
246
+ elsif value.respond_to? :to_hash
247
+ value.to_hash
248
+ else
249
+ value
250
+ end
251
+ end
252
+
253
+ end
254
+ end