belvo 0.13.1 → 0.14.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/belvo.rb +6 -1
- data/lib/belvo/options.rb +2 -23
- data/lib/belvo/resources.rb +1 -12
- data/lib/belvo/utils.rb +16 -0
- data/lib/belvo/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '038fbaeb161f1c341855ded020989160dc8ebbbcea33f5fe05fa0c92c81d0bcf'
|
4
|
+
data.tar.gz: 4eee5f78d13eb4fff6a3a01ed50aa673a4b62b0bb10b45b86795d8e980f1a48d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4845b72c9a053c7bc8fabe97d6990cd1006fc75b4493f42944aac21cc3aea72860a2d9d7ab0cc0ae56f1a68f465c9c0aff1c9ca76c39e3ee82a4f638862f955b
|
7
|
+
data.tar.gz: d41485f0c38659baa74b675d9220f3f1a07086d62c0ead42c886e3dedd06d0c4bcaab7ee878cc5cbe1dcf06e01eb7cd0d71413925be407c26af1617b596e1e1f
|
data/Gemfile.lock
CHANGED
data/lib/belvo.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'belvo/http'
|
4
4
|
require 'belvo/exceptions'
|
5
5
|
require 'belvo/resources'
|
6
|
+
require 'belvo/utils'
|
6
7
|
|
7
8
|
module Belvo
|
8
9
|
# Allows easy access to Belvo API servers.
|
@@ -18,7 +19,11 @@ module Belvo
|
|
18
19
|
# @return [APISession] Authenticated Belvo API session
|
19
20
|
def initialize(secret_key_id, secret_key_password, url = nil)
|
20
21
|
(belvo_api_url = url) || ENV['BELVO_API_URL']
|
21
|
-
|
22
|
+
belvo_api_url = Environment.get_url(belvo_api_url)
|
23
|
+
|
24
|
+
if belvo_api_url.nil?
|
25
|
+
raise BelvoAPIError, 'You need to provide a URL or a valid environment.'
|
26
|
+
end
|
22
27
|
|
23
28
|
@session = Belvo::APISession.new(belvo_api_url)
|
24
29
|
|
data/lib/belvo/options.rb
CHANGED
@@ -10,7 +10,6 @@ module Belvo
|
|
10
10
|
# @!attribute username2 [rw] End-user secondary username, if any
|
11
11
|
# @!attribute username3 [rw] End-user tertiary username, if any
|
12
12
|
# @!attribute password2 [rw] End-user secondary password, if any
|
13
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
14
13
|
# @!attribute username_type [rw] Type of the username provided
|
15
14
|
class LinkOptions < Faraday::Options.new(
|
16
15
|
:access_mode,
|
@@ -18,7 +17,6 @@ module Belvo
|
|
18
17
|
:username2,
|
19
18
|
:username3,
|
20
19
|
:password2,
|
21
|
-
:encryption_key,
|
22
20
|
:username_type,
|
23
21
|
:certificate,
|
24
22
|
:private_key,
|
@@ -30,11 +28,9 @@ module Belvo
|
|
30
28
|
# Contains the configurable properties for an Account
|
31
29
|
# @!attribute save_data [rw] Should data be persisted or not.
|
32
30
|
# @!attribute token [rw] OTP token required by the institution
|
33
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
34
31
|
class AccountOptions < Faraday::Options.new(
|
35
32
|
:save_data,
|
36
|
-
:token
|
37
|
-
:encryption_key
|
33
|
+
:token
|
38
34
|
)
|
39
35
|
end
|
40
36
|
|
@@ -44,12 +40,10 @@ module Belvo
|
|
44
40
|
# @!attribute account [rw] Account ID (UUID)
|
45
41
|
# @!attribute save_data [rw] Should data be persisted or not.
|
46
42
|
# @!attribute token [rw] OTP token required by the institution
|
47
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
48
43
|
class TransactionOptions < Faraday::Options.new(
|
49
44
|
:date_to,
|
50
45
|
:account,
|
51
46
|
:token,
|
52
|
-
:encryption_key,
|
53
47
|
:save_data
|
54
48
|
)
|
55
49
|
end
|
@@ -58,8 +52,7 @@ module Belvo
|
|
58
52
|
# Contains configurable properties of an Owner
|
59
53
|
# @!attribute save_data [rw] Should data be persisted or not.
|
60
54
|
# @!attribute token [rw] OTP token required by the institution
|
61
|
-
|
62
|
-
class OwnerOptions < Faraday::Options.new(:token, :encryption_key, :save_data)
|
55
|
+
class OwnerOptions < Faraday::Options.new(:token, :save_data)
|
63
56
|
end
|
64
57
|
|
65
58
|
# @!class BalanceOptions < Faraday::Options
|
@@ -68,12 +61,10 @@ module Belvo
|
|
68
61
|
# @!attribute account [rw] Account ID (UUID)
|
69
62
|
# @!attribute save_data [rw] Should data be persisted or not.
|
70
63
|
# @!attribute token [rw] OTP token required by the institution
|
71
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
72
64
|
class BalanceOptions < Faraday::Options.new(
|
73
65
|
:date_to,
|
74
66
|
:account,
|
75
67
|
:token,
|
76
|
-
:encryption_key,
|
77
68
|
:save_data
|
78
69
|
)
|
79
70
|
end
|
@@ -82,12 +73,10 @@ module Belvo
|
|
82
73
|
# Contains configurable properties of a Statement
|
83
74
|
# @!attribute save_data [rw] Should data be persisted or not.
|
84
75
|
# @!attribute token [rw] OTP token required by the institution
|
85
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
86
76
|
# @!attribute attach_pdf [rw] Should the PDF file be included in the
|
87
77
|
# response or not.
|
88
78
|
class StatementOptions < Faraday::Options.new(
|
89
79
|
:token,
|
90
|
-
:encryption_key,
|
91
80
|
:save_data,
|
92
81
|
:attach_pdf
|
93
82
|
)
|
@@ -96,9 +85,7 @@ module Belvo
|
|
96
85
|
# @!class IncomeOptions < Faraday::Options
|
97
86
|
# Contains configurable properties of an Income
|
98
87
|
# @!attribute save_data [rw] Should data be persisted or not.
|
99
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
100
88
|
class IncomeOptions < Faraday::Options.new(
|
101
|
-
:encryption_key,
|
102
89
|
:save_data
|
103
90
|
)
|
104
91
|
end
|
@@ -107,13 +94,11 @@ module Belvo
|
|
107
94
|
# Contains configurable properties of an Invoice
|
108
95
|
# @!attribute save_data [rw] Should data be persisted or not.
|
109
96
|
# @!attribute token [rw] OTP token required by the institution
|
110
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
111
97
|
# @!attribute attach_xml [rw] Should the XML file be included in the
|
112
98
|
# response or not.
|
113
99
|
class InvoiceOptions < Faraday::Options.new(
|
114
100
|
:save_data,
|
115
101
|
:token,
|
116
|
-
:encryption_key,
|
117
102
|
:attach_xml
|
118
103
|
)
|
119
104
|
end
|
@@ -122,12 +107,10 @@ module Belvo
|
|
122
107
|
# Contains configurable properties of a TaxComplianceStatus
|
123
108
|
# @!attribute save_data [rw] Should data be persisted or not.
|
124
109
|
# @!attribute token [rw] OTP token required by the institution
|
125
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
126
110
|
# @!attribute attach_pdf [rw] Should the PDF file be included in the
|
127
111
|
# response or not.
|
128
112
|
class TaxComplianceStatusOptions < Faraday::Options.new(
|
129
113
|
:token,
|
130
|
-
:encryption_key,
|
131
114
|
:save_data,
|
132
115
|
:attach_pdf
|
133
116
|
)
|
@@ -137,12 +120,10 @@ module Belvo
|
|
137
120
|
# Contains configurable properties of a TaxReturn
|
138
121
|
# @!attribute save_data [rw] Should data be persisted or not.
|
139
122
|
# @!attribute token [rw] OTP token required by the institution
|
140
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
141
123
|
# @!attribute attach_pdf [rw] Should the PDF file be included in the
|
142
124
|
# response or not.
|
143
125
|
class TaxReturnOptions < Faraday::Options.new(
|
144
126
|
:token,
|
145
|
-
:encryption_key,
|
146
127
|
:save_data,
|
147
128
|
:attach_pdf,
|
148
129
|
:type,
|
@@ -155,12 +136,10 @@ module Belvo
|
|
155
136
|
# Contains configurable properties of a TaxStatus
|
156
137
|
# @!attribute save_data [rw] Should data be persisted or not.
|
157
138
|
# @!attribute token [rw] OTP token required by the institution
|
158
|
-
# @!attribute encryption_key [rw] Custom encryption key
|
159
139
|
# @!attribute attach_pdf [rw] Should the PDF file be included in the
|
160
140
|
# response or not.
|
161
141
|
class TaxStatusOptions < Faraday::Options.new(
|
162
142
|
:token,
|
163
|
-
:encryption_key,
|
164
143
|
:save_data,
|
165
144
|
:attach_pdf
|
166
145
|
)
|
data/lib/belvo/resources.rb
CHANGED
@@ -99,7 +99,7 @@ module Belvo
|
|
99
99
|
@session.post(@endpoint, body)
|
100
100
|
end
|
101
101
|
|
102
|
-
# Allows to change password, password2
|
102
|
+
# Allows to change password, password2
|
103
103
|
# @param id [String] Link UUID
|
104
104
|
# @param password [String] End-user password
|
105
105
|
# @param password2 [String, nil] End-user secondary password, if any
|
@@ -114,7 +114,6 @@ module Belvo
|
|
114
114
|
password: password,
|
115
115
|
password2: password2,
|
116
116
|
token: options.token,
|
117
|
-
encryption_key: options.encryption_key,
|
118
117
|
username_type: options.username_type,
|
119
118
|
certificate: options.certificate,
|
120
119
|
private_key: options.private_key
|
@@ -172,7 +171,6 @@ module Belvo
|
|
172
171
|
body = {
|
173
172
|
link: link,
|
174
173
|
token: options.token,
|
175
|
-
encryption_key: options.encryption_key,
|
176
174
|
save_data: options.save_data || true
|
177
175
|
}.merge(options)
|
178
176
|
body = clean body: body
|
@@ -203,7 +201,6 @@ module Belvo
|
|
203
201
|
date_to: date_to,
|
204
202
|
token: options.token,
|
205
203
|
account: options.account,
|
206
|
-
encryption_key: options.encryption_key,
|
207
204
|
save_data: options.save_data || true
|
208
205
|
}.merge(options)
|
209
206
|
body = clean body: body
|
@@ -229,7 +226,6 @@ module Belvo
|
|
229
226
|
body = {
|
230
227
|
link: link,
|
231
228
|
token: options.token,
|
232
|
-
encryption_key: options.encryption_key,
|
233
229
|
save_data: options.save_data || true
|
234
230
|
}.merge(options)
|
235
231
|
body = clean body: body
|
@@ -260,7 +256,6 @@ module Belvo
|
|
260
256
|
date_to: date_to,
|
261
257
|
token: options.token,
|
262
258
|
account: options.account,
|
263
|
-
encryption_key: options.encryption_key,
|
264
259
|
save_data: options.save_data || true
|
265
260
|
}.merge(options)
|
266
261
|
body = clean body: body
|
@@ -290,7 +285,6 @@ module Belvo
|
|
290
285
|
year: year,
|
291
286
|
month: month,
|
292
287
|
token: options.token,
|
293
|
-
encryption_key: options.encryption_key,
|
294
288
|
save_data: options.save_data || true,
|
295
289
|
attach_pdf: options.attach_pdf
|
296
290
|
}.merge(options)
|
@@ -315,7 +309,6 @@ module Belvo
|
|
315
309
|
options = IncomeOptions.from(options)
|
316
310
|
body = {
|
317
311
|
link: link,
|
318
|
-
encryption_key: options.encryption_key,
|
319
312
|
save_data: options.save_data || true
|
320
313
|
}.merge(options)
|
321
314
|
body = clean body: body
|
@@ -346,7 +339,6 @@ module Belvo
|
|
346
339
|
date_to: date_to,
|
347
340
|
type: type,
|
348
341
|
token: options.token,
|
349
|
-
encryption_key: options.encryption_key,
|
350
342
|
save_data: options.save_data || true,
|
351
343
|
attach_xml: options.attach_xml
|
352
344
|
}.merge(options)
|
@@ -373,7 +365,6 @@ module Belvo
|
|
373
365
|
body = {
|
374
366
|
link: link,
|
375
367
|
token: options.token,
|
376
|
-
encryption_key: options.encryption_key,
|
377
368
|
save_data: options.save_data || true,
|
378
369
|
attach_pdf: options.attach_pdf
|
379
370
|
}.merge(options)
|
@@ -412,7 +403,6 @@ module Belvo
|
|
412
403
|
body = {
|
413
404
|
link: link,
|
414
405
|
token: options.token,
|
415
|
-
encryption_key: options.encryption_key,
|
416
406
|
save_data: options.save_data || true,
|
417
407
|
attach_pdf: options.attach_pdf,
|
418
408
|
type: options.type
|
@@ -451,7 +441,6 @@ module Belvo
|
|
451
441
|
body = {
|
452
442
|
link: link,
|
453
443
|
token: options.token,
|
454
|
-
encryption_key: options.encryption_key,
|
455
444
|
save_data: options.save_data || true,
|
456
445
|
attach_pdf: options.attach_pdf
|
457
446
|
}.merge(options)
|
data/lib/belvo/utils.rb
CHANGED
@@ -11,3 +11,19 @@ class Utils
|
|
11
11
|
Base64.encode64(data)
|
12
12
|
end
|
13
13
|
end
|
14
|
+
|
15
|
+
# Class to get the api url given an environment name
|
16
|
+
class Environment
|
17
|
+
SANDBOX = 'https://sandbox.belvo.com'
|
18
|
+
DEVELOPMENT = 'https://development.belvo.com'
|
19
|
+
PRODUCTION = 'https://api.belvo.com'
|
20
|
+
|
21
|
+
def self.get_url(environment)
|
22
|
+
nil unless environment
|
23
|
+
begin
|
24
|
+
const_get environment.upcase
|
25
|
+
rescue NameError
|
26
|
+
environment
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/belvo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: belvo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Belvo Finance S.L.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|