belvo 0.13.1 → 0.14.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|