belvo 0.15.0 → 0.19.2
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/.circleci/config.yml +53 -0
- data/.github/CODEOWNERS +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +16 -17
- data/README.md +10 -3
- data/belvo.gemspec +1 -1
- data/lib/belvo/http.rb +1 -1
- data/lib/belvo/options.rb +35 -0
- data/lib/belvo/resources.rb +114 -13
- data/lib/belvo/version.rb +1 -1
- data/lib/belvo.rb +24 -0
- metadata +6 -5
- data/.travis.yml +0 -18
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: efea687616660ff8f3d179ac0069cf8264ec2a0777d73e592b7510894a30cd4b
|
|
4
|
+
data.tar.gz: ce5e1215ba5278fb40e2192e77d9e1f4e6675e17436255d0b0e2f0d14cde97eb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 827e7bc7c884745ccd3e6821edc3384e1585fd1033cef0e3efef0505898de894642c6d30b288cb2bdc4e131a6661cb35561a61cee5a9c0750e08e09e396d1e94
|
|
7
|
+
data.tar.gz: 37495bcce07c083dc5a0631b1a78e71a615e60abb9883b8c551d98a4a1c9b5304582f8d8da9f15b5e801e80210f6736872b2ac7d2bd0e8bb7b4d48e67a4dbac5
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
version: 2.1
|
|
2
|
+
orbs:
|
|
3
|
+
ruby: circleci/ruby@1.0.4
|
|
4
|
+
jobs:
|
|
5
|
+
test:
|
|
6
|
+
docker:
|
|
7
|
+
- image: cimg/ruby:2.7
|
|
8
|
+
steps:
|
|
9
|
+
- checkout
|
|
10
|
+
- ruby/install-deps
|
|
11
|
+
- run:
|
|
12
|
+
name: Install deps
|
|
13
|
+
command: gem install bundler -v 2.1.4
|
|
14
|
+
- run:
|
|
15
|
+
name: Run tests
|
|
16
|
+
command: |
|
|
17
|
+
bundle exec rubocop
|
|
18
|
+
bundle exec rspec spec
|
|
19
|
+
deploy-to-rubygems:
|
|
20
|
+
docker:
|
|
21
|
+
- image: cimg/ruby:2.7
|
|
22
|
+
steps:
|
|
23
|
+
- checkout
|
|
24
|
+
- ruby/install-deps
|
|
25
|
+
- run:
|
|
26
|
+
name: Set Rubygems credentials
|
|
27
|
+
command: |
|
|
28
|
+
mkdir ~/.gem
|
|
29
|
+
echo -e "---\r\n:rubygems_api_key: $GEM_HOST_API_KEY" > ~/.gem/credentials
|
|
30
|
+
chmod 0600 /home/circleci/.gem/credentials
|
|
31
|
+
- run:
|
|
32
|
+
name: Publish gem to Rubygems
|
|
33
|
+
command: bundle exec rake release
|
|
34
|
+
|
|
35
|
+
workflows:
|
|
36
|
+
build-test-deploy:
|
|
37
|
+
jobs:
|
|
38
|
+
- test:
|
|
39
|
+
filters:
|
|
40
|
+
tags:
|
|
41
|
+
only: /v.*/
|
|
42
|
+
context:
|
|
43
|
+
- shared
|
|
44
|
+
- deploy-to-rubygems:
|
|
45
|
+
requires:
|
|
46
|
+
- test
|
|
47
|
+
filters:
|
|
48
|
+
branches:
|
|
49
|
+
ignore: /.*/
|
|
50
|
+
tags:
|
|
51
|
+
only: /^v.*/
|
|
52
|
+
context:
|
|
53
|
+
- shared
|
data/.github/CODEOWNERS
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* @belvo-finance/ruby @belvo-finance/opensource
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
belvo (0.
|
|
4
|
+
belvo (0.19.2)
|
|
5
5
|
faraday
|
|
6
6
|
faraday_middleware
|
|
7
7
|
typhoeus
|
|
@@ -20,12 +20,11 @@ GEM
|
|
|
20
20
|
colored2 (3.1.2)
|
|
21
21
|
cork (0.3.0)
|
|
22
22
|
colored2 (~> 3.1)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
tins (~> 1.6)
|
|
23
|
+
coveralls_reborn (0.23.0)
|
|
24
|
+
simplecov (>= 0.18.1, < 0.22.0)
|
|
25
|
+
term-ansicolor (~> 1.6)
|
|
26
|
+
thor (>= 0.20.3, < 2.0)
|
|
27
|
+
tins (~> 1.16)
|
|
29
28
|
crack (0.4.4)
|
|
30
29
|
danger (8.2.1)
|
|
31
30
|
claide (~> 1.0)
|
|
@@ -41,7 +40,7 @@ GEM
|
|
|
41
40
|
octokit (~> 4.7)
|
|
42
41
|
terminal-table (~> 1)
|
|
43
42
|
diff-lcs (1.4.4)
|
|
44
|
-
docile (1.
|
|
43
|
+
docile (1.4.0)
|
|
45
44
|
ethon (0.12.0)
|
|
46
45
|
ffi (>= 1.3.0)
|
|
47
46
|
faraday (1.1.0)
|
|
@@ -56,7 +55,6 @@ GEM
|
|
|
56
55
|
rchardet (~> 1.8)
|
|
57
56
|
hashdiff (1.0.1)
|
|
58
57
|
jaro_winkler (1.5.4)
|
|
59
|
-
json (2.3.1)
|
|
60
58
|
kramdown (2.3.1)
|
|
61
59
|
rexml
|
|
62
60
|
kramdown-parser-gfm (1.1.0)
|
|
@@ -104,18 +102,19 @@ GEM
|
|
|
104
102
|
sawyer (0.8.2)
|
|
105
103
|
addressable (>= 2.3.5)
|
|
106
104
|
faraday (> 0.8, < 2.0)
|
|
107
|
-
simplecov (0.
|
|
105
|
+
simplecov (0.21.2)
|
|
108
106
|
docile (~> 1.1)
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
simplecov-html (0.
|
|
107
|
+
simplecov-html (~> 0.11)
|
|
108
|
+
simplecov_json_formatter (~> 0.1)
|
|
109
|
+
simplecov-html (0.12.3)
|
|
110
|
+
simplecov_json_formatter (0.1.3)
|
|
112
111
|
sync (0.5.0)
|
|
113
112
|
term-ansicolor (1.7.1)
|
|
114
113
|
tins (~> 1.0)
|
|
115
114
|
terminal-table (1.8.0)
|
|
116
115
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
|
117
|
-
thor (1.0
|
|
118
|
-
tins (1.
|
|
116
|
+
thor (1.1.0)
|
|
117
|
+
tins (1.29.1)
|
|
119
118
|
sync
|
|
120
119
|
typhoeus (1.4.0)
|
|
121
120
|
ethon (>= 0.9.0)
|
|
@@ -130,7 +129,7 @@ PLATFORMS
|
|
|
130
129
|
|
|
131
130
|
DEPENDENCIES
|
|
132
131
|
belvo!
|
|
133
|
-
|
|
132
|
+
coveralls_reborn
|
|
134
133
|
danger (= 8.2.1)
|
|
135
134
|
faraday
|
|
136
135
|
faraday_middleware
|
|
@@ -142,4 +141,4 @@ DEPENDENCIES
|
|
|
142
141
|
webmock
|
|
143
142
|
|
|
144
143
|
BUNDLED WITH
|
|
145
|
-
2.
|
|
144
|
+
2.2.22
|
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<h1 align="center">Belvo Ruby Gem</h1>
|
|
2
2
|
<p align="center">
|
|
3
3
|
<a href="https://rubygems.org/gems/belvo"><img alt="Rubygems.org" src="https://img.shields.io/gem/v/belvo?style=for-the-badge"></a>
|
|
4
|
-
<a href="https://
|
|
4
|
+
<a href="https://app.circleci.com/pipelines/github/belvo-finance/belvo-ruby"><img alt="CircleCI (.com)" src="https://img.shields.io/travis/com/belvo-finance/belvo-ruby/master?style=for-the-badge"></a>
|
|
5
5
|
<a href="https://coveralls.io/github/belvo-finance/belvo-ruby"><img alt="Coveralls github" src="https://img.shields.io/coveralls/github/belvo-finance/belvo-ruby?style=for-the-badge"></a>
|
|
6
6
|
<a href="https://codeclimate.com/github/belvo-finance/belvo-ruby"><img alt="CodeClimate maintainability" src="https://img.shields.io/codeclimate/maintainability/belvo-finance/belvo-ruby?style=for-the-badge"></a>
|
|
7
7
|
</p>
|
|
@@ -75,7 +75,7 @@ belvo = Belvo::Client.new(
|
|
|
75
75
|
|
|
76
76
|
begin
|
|
77
77
|
new_link = belvo.links.register( # Creating the link
|
|
78
|
-
institution: '
|
|
78
|
+
institution: 'erebor_mx_retail',
|
|
79
79
|
username: 'janedoe',
|
|
80
80
|
password: 'super-secret',
|
|
81
81
|
options: { access_mode: Belvo::Link::AccessMode::SINGLE }
|
|
@@ -96,7 +96,14 @@ end
|
|
|
96
96
|
|
|
97
97
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
98
98
|
|
|
99
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
|
99
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
|
100
|
+
|
|
101
|
+
To release a new version:
|
|
102
|
+
- Create a new branch from master.
|
|
103
|
+
- Update the version number in `version.rb`
|
|
104
|
+
- Run `bundle exec rake install` to update `Gemfile.lock` version
|
|
105
|
+
- Create a new pull request for the new version.
|
|
106
|
+
- Once the new version is merged in `master`, create a `tag` matching the new version.
|
|
100
107
|
|
|
101
108
|
## Contributing
|
|
102
109
|
|
data/belvo.gemspec
CHANGED
|
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
|
|
|
33
33
|
spec.add_dependency 'faraday_middleware'
|
|
34
34
|
spec.add_dependency 'typhoeus'
|
|
35
35
|
|
|
36
|
-
spec.add_development_dependency '
|
|
36
|
+
spec.add_development_dependency 'coveralls_reborn'
|
|
37
37
|
spec.add_development_dependency 'rake', '~> 12.0'
|
|
38
38
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
39
39
|
spec.add_development_dependency 'rubocop', '~> 0.81.0'
|
data/lib/belvo/http.rb
CHANGED
|
@@ -17,7 +17,7 @@ module Belvo
|
|
|
17
17
|
# @param url [String] Belvo API host url
|
|
18
18
|
# @return [Faraday::Connection]
|
|
19
19
|
def initialize(url)
|
|
20
|
-
@url = format('%<url>s/
|
|
20
|
+
@url = format('%<url>s/', url: url)
|
|
21
21
|
@session = Faraday::Connection.new(url: @url) do |faraday|
|
|
22
22
|
faraday.adapter :typhoeus
|
|
23
23
|
faraday.response :json
|
data/lib/belvo/options.rb
CHANGED
|
@@ -107,6 +107,22 @@ module Belvo
|
|
|
107
107
|
)
|
|
108
108
|
end
|
|
109
109
|
|
|
110
|
+
# @!class RecurringExpensesOptions < Faraday::Options
|
|
111
|
+
# Contains configurable properties of a Recurring Expense
|
|
112
|
+
# @!attribute save_data [rw] Should data be persisted or not.
|
|
113
|
+
class RecurringExpensesOptions < Faraday::Options.new(
|
|
114
|
+
:save_data
|
|
115
|
+
)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# @!class RiskInsights < Faraday::Options
|
|
119
|
+
# Contains configurable properties of a RiskInsights object
|
|
120
|
+
# @!attribute save_data [rw] Should data be persisted or not.
|
|
121
|
+
class RiskInsightsOptions < Faraday::Options.new(
|
|
122
|
+
:save_data
|
|
123
|
+
)
|
|
124
|
+
end
|
|
125
|
+
|
|
110
126
|
# @!class TaxComplianceStatusOptions < Faraday::Options
|
|
111
127
|
# Contains configurable properties of a TaxComplianceStatus
|
|
112
128
|
# @!attribute save_data [rw] Should data be persisted or not.
|
|
@@ -159,4 +175,23 @@ module Belvo
|
|
|
159
175
|
:widget
|
|
160
176
|
)
|
|
161
177
|
end
|
|
178
|
+
|
|
179
|
+
# @!class InvestmentsPortfolioOptions < Faraday::Options
|
|
180
|
+
# Contains configurable properties of an InvestmentsPortfolio
|
|
181
|
+
# @!attribute save_data [rw] Should data be persisted or not.
|
|
182
|
+
# @!attribute token [rw] OTP token required by the institution
|
|
183
|
+
class InvestmentsPortfolioOptions < Faraday::Options.new(:token, :save_data)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# @!class InvestmentsTransactionOptions < Faraday::Options
|
|
187
|
+
# Contains configurable properties of an InvestmentsTransaction
|
|
188
|
+
# @!attribute date_to [rw] Date string (YYYY-MM-DD)
|
|
189
|
+
# @!attribute save_data [rw] Should data be persisted or not.
|
|
190
|
+
# @!attribute token [rw] OTP token required by the institution
|
|
191
|
+
class InvestmentsTransactionOptions < Faraday::Options.new(
|
|
192
|
+
:date_to,
|
|
193
|
+
:token,
|
|
194
|
+
:save_data
|
|
195
|
+
)
|
|
196
|
+
end
|
|
162
197
|
end
|
data/lib/belvo/resources.rb
CHANGED
|
@@ -70,7 +70,7 @@ module Belvo
|
|
|
70
70
|
|
|
71
71
|
def initialize(session)
|
|
72
72
|
super(session)
|
|
73
|
-
@endpoint = 'links/'
|
|
73
|
+
@endpoint = 'api/links/'
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
# Register a new link
|
|
@@ -158,7 +158,7 @@ module Belvo
|
|
|
158
158
|
class Account < Resource
|
|
159
159
|
def initialize(session)
|
|
160
160
|
super(session)
|
|
161
|
-
@endpoint = 'accounts/'
|
|
161
|
+
@endpoint = 'api/accounts/'
|
|
162
162
|
end
|
|
163
163
|
|
|
164
164
|
# Retrieve accounts from an existing link
|
|
@@ -183,7 +183,7 @@ module Belvo
|
|
|
183
183
|
class Transaction < Resource
|
|
184
184
|
def initialize(session)
|
|
185
185
|
super(session)
|
|
186
|
-
@endpoint = 'transactions/'
|
|
186
|
+
@endpoint = 'api/transactions/'
|
|
187
187
|
end
|
|
188
188
|
|
|
189
189
|
# Retrieve transactions from an existing link
|
|
@@ -213,7 +213,7 @@ module Belvo
|
|
|
213
213
|
class Owner < Resource
|
|
214
214
|
def initialize(session)
|
|
215
215
|
super(session)
|
|
216
|
-
@endpoint = 'owners/'
|
|
216
|
+
@endpoint = 'api/owners/'
|
|
217
217
|
end
|
|
218
218
|
|
|
219
219
|
# Retrieve owners from an existing link
|
|
@@ -237,7 +237,7 @@ module Belvo
|
|
|
237
237
|
class Balance < Resource
|
|
238
238
|
def initialize(session)
|
|
239
239
|
super(session)
|
|
240
|
-
@endpoint = 'balances/'
|
|
240
|
+
@endpoint = 'api/balances/'
|
|
241
241
|
end
|
|
242
242
|
|
|
243
243
|
# Retrieve balances from a specific account or all accounts from a
|
|
@@ -267,7 +267,7 @@ module Belvo
|
|
|
267
267
|
class Statement < Resource
|
|
268
268
|
def initialize(session)
|
|
269
269
|
super(session)
|
|
270
|
-
@endpoint = 'statements/'
|
|
270
|
+
@endpoint = 'api/statements/'
|
|
271
271
|
end
|
|
272
272
|
|
|
273
273
|
# Retrieve statements information from a specific banking link.
|
|
@@ -297,7 +297,7 @@ module Belvo
|
|
|
297
297
|
class Income < Resource
|
|
298
298
|
def initialize(session)
|
|
299
299
|
super(session)
|
|
300
|
-
@endpoint = 'incomes/'
|
|
300
|
+
@endpoint = 'api/incomes/'
|
|
301
301
|
end
|
|
302
302
|
|
|
303
303
|
# Retrieve incomes information from a specific banking link.
|
|
@@ -324,7 +324,7 @@ module Belvo
|
|
|
324
324
|
class Invoice < Resource
|
|
325
325
|
def initialize(session)
|
|
326
326
|
super(session)
|
|
327
|
-
@endpoint = 'invoices/'
|
|
327
|
+
@endpoint = 'api/invoices/'
|
|
328
328
|
end
|
|
329
329
|
|
|
330
330
|
# @param link [String] Link UUID
|
|
@@ -349,12 +349,60 @@ module Belvo
|
|
|
349
349
|
end
|
|
350
350
|
end
|
|
351
351
|
|
|
352
|
+
# Recurring Expenses contain a resume of one year
|
|
353
|
+
# of Transactions inside an Account.
|
|
354
|
+
class RecurringExpenses < Resource
|
|
355
|
+
def initialize(session)
|
|
356
|
+
super(session)
|
|
357
|
+
@endpoint = 'api/recurring-expenses/'
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
# Retrieve recurring expenses information from a specific banking link
|
|
361
|
+
# @param link [String] Link UUID
|
|
362
|
+
# @param options [RecurringExpensesOptions] Configurable properties
|
|
363
|
+
# @return [Hash] created RecurringExpenses details
|
|
364
|
+
# @raise [RequestError] If response code is different than 2XX
|
|
365
|
+
def retrieve(link:, options: nil)
|
|
366
|
+
options = RecurringExpensesOptions.from(options)
|
|
367
|
+
body = {
|
|
368
|
+
link: link,
|
|
369
|
+
save_data: options.save_data || true
|
|
370
|
+
}.merge(options)
|
|
371
|
+
body = clean body: body
|
|
372
|
+
@session.post(@endpoint, body)
|
|
373
|
+
end
|
|
374
|
+
end
|
|
375
|
+
|
|
376
|
+
# RiskInsights contain relevant metrics about
|
|
377
|
+
# the credit risk of a Link
|
|
378
|
+
class RiskInsights < Resource
|
|
379
|
+
def initialize(session)
|
|
380
|
+
super(session)
|
|
381
|
+
@endpoint = 'api/risk-insights/'
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
# Retrieve risk insights information from a specific banking link
|
|
385
|
+
# @param link [String] Link UUID
|
|
386
|
+
# @param options [RiskInsightsOptions] Configurable properties
|
|
387
|
+
# @return [Hash] created RiskInsights details
|
|
388
|
+
# @raise [RequestError] If response code is different than 2XX
|
|
389
|
+
def retrieve(link:, options: nil)
|
|
390
|
+
options = RiskInsightsOptions.from(options)
|
|
391
|
+
body = {
|
|
392
|
+
link: link,
|
|
393
|
+
save_data: options.save_data || true
|
|
394
|
+
}.merge(options)
|
|
395
|
+
body = clean body: body
|
|
396
|
+
@session.post(@endpoint, body)
|
|
397
|
+
end
|
|
398
|
+
end
|
|
399
|
+
|
|
352
400
|
# A Tax compliance status is the representation of the tax situation
|
|
353
401
|
# of a person or a business to the tax authority in the country.
|
|
354
402
|
class TaxComplianceStatus < Resource
|
|
355
403
|
def initialize(session)
|
|
356
404
|
super(session)
|
|
357
|
-
@endpoint = 'tax-compliance-status/'
|
|
405
|
+
@endpoint = 'api/tax-compliance-status/'
|
|
358
406
|
end
|
|
359
407
|
|
|
360
408
|
# Retrieve tax compliance status information from a specific fiscal link.
|
|
@@ -385,7 +433,7 @@ module Belvo
|
|
|
385
433
|
class TaxReturn < Resource
|
|
386
434
|
def initialize(session)
|
|
387
435
|
super(session)
|
|
388
|
-
@endpoint = 'tax-returns/'
|
|
436
|
+
@endpoint = 'api/tax-returns/'
|
|
389
437
|
end
|
|
390
438
|
|
|
391
439
|
class TaxReturnType
|
|
@@ -430,7 +478,7 @@ module Belvo
|
|
|
430
478
|
class TaxStatus < Resource
|
|
431
479
|
def initialize(session)
|
|
432
480
|
super(session)
|
|
433
|
-
@endpoint = 'tax-status/'
|
|
481
|
+
@endpoint = 'api/tax-status/'
|
|
434
482
|
end
|
|
435
483
|
|
|
436
484
|
# Retrieve tax status information from a specific fiscal link.
|
|
@@ -460,7 +508,7 @@ module Belvo
|
|
|
460
508
|
class Institution < Resource
|
|
461
509
|
def initialize(session)
|
|
462
510
|
super(session)
|
|
463
|
-
@endpoint = 'institutions/'
|
|
511
|
+
@endpoint = 'api/institutions/'
|
|
464
512
|
end
|
|
465
513
|
end
|
|
466
514
|
|
|
@@ -470,7 +518,7 @@ module Belvo
|
|
|
470
518
|
class WidgetToken < Resource
|
|
471
519
|
def initialize(session)
|
|
472
520
|
super(session)
|
|
473
|
-
@endpoint = 'token/'
|
|
521
|
+
@endpoint = 'api/token/'
|
|
474
522
|
end
|
|
475
523
|
|
|
476
524
|
def create(options: nil)
|
|
@@ -490,4 +538,57 @@ module Belvo
|
|
|
490
538
|
@session.post(@endpoint, body)
|
|
491
539
|
end
|
|
492
540
|
end
|
|
541
|
+
|
|
542
|
+
# A InvestmentsPortfolio is a comprehensive view of your user's current
|
|
543
|
+
# investment holdings
|
|
544
|
+
class InvestmentsPortfolio < Resource
|
|
545
|
+
def initialize(session)
|
|
546
|
+
super(session)
|
|
547
|
+
@endpoint = 'investments/portfolios/'
|
|
548
|
+
end
|
|
549
|
+
|
|
550
|
+
# Retrieve investments portfolios from an existing link
|
|
551
|
+
# @param link [String] Link UUID
|
|
552
|
+
# @param options [InvestmentsPortfolioOptions] Configurable properties
|
|
553
|
+
# @return [Hash] created investments portfolios details
|
|
554
|
+
# @raise [RequestError] If response code is different than 2XX
|
|
555
|
+
def retrieve(link:, options: nil)
|
|
556
|
+
options = InvestmentsPortfolioOptions.from(options)
|
|
557
|
+
body = {
|
|
558
|
+
link: link,
|
|
559
|
+
token: options.token,
|
|
560
|
+
save_data: options.save_data || true
|
|
561
|
+
}.merge(options)
|
|
562
|
+
body = clean body: body
|
|
563
|
+
@session.post(@endpoint, body)
|
|
564
|
+
end
|
|
565
|
+
end
|
|
566
|
+
|
|
567
|
+
# A InvestmentsTransaction gets the existing transactions for an instrument
|
|
568
|
+
class InvestmentsTransaction < Resource
|
|
569
|
+
def initialize(session)
|
|
570
|
+
super(session)
|
|
571
|
+
@endpoint = 'investments/transactions/'
|
|
572
|
+
end
|
|
573
|
+
|
|
574
|
+
# Retrieve investments transactions from an existing link
|
|
575
|
+
# @param link [String] Link UUID
|
|
576
|
+
# @param date_from [String] Date string (YYYY-MM-DD)
|
|
577
|
+
# @param options [InvestmentsTransactionOptions] Configurable properties
|
|
578
|
+
# @return [Hash] created investments transactions details
|
|
579
|
+
# @raise [RequestError] If response code is different than 2XX
|
|
580
|
+
def retrieve(link:, date_from:, options: nil)
|
|
581
|
+
options = InvestmentsTransactionOptions.from(options)
|
|
582
|
+
date_to = options.date_to || Date.today.to_s
|
|
583
|
+
body = {
|
|
584
|
+
link: link,
|
|
585
|
+
date_from: date_from,
|
|
586
|
+
date_to: date_to,
|
|
587
|
+
token: options.token,
|
|
588
|
+
save_data: options.save_data || true
|
|
589
|
+
}.merge(options)
|
|
590
|
+
body = clean body: body
|
|
591
|
+
@session.post(@endpoint, body)
|
|
592
|
+
end
|
|
593
|
+
end
|
|
493
594
|
end
|
data/lib/belvo/version.rb
CHANGED
data/lib/belvo.rb
CHANGED
|
@@ -80,6 +80,18 @@ module Belvo
|
|
|
80
80
|
@invoices = Invoice.new @session
|
|
81
81
|
end
|
|
82
82
|
|
|
83
|
+
# Provides access to RecurringExpenses resource
|
|
84
|
+
# @return [RecurringExpense]
|
|
85
|
+
def recurring_expenses
|
|
86
|
+
@recurring_expenses = RecurringExpenses.new @session
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Provides access to RiskInsights resource
|
|
90
|
+
# @return [RiskInsights]
|
|
91
|
+
def risk_insights
|
|
92
|
+
@risk_insights = RiskInsights.new @session
|
|
93
|
+
end
|
|
94
|
+
|
|
83
95
|
# Provides access to TaxComplianceStatus resource
|
|
84
96
|
# @return [TaxComplianceStatus]
|
|
85
97
|
def tax_compliance_status
|
|
@@ -109,5 +121,17 @@ module Belvo
|
|
|
109
121
|
def widget_token
|
|
110
122
|
@widget_token = WidgetToken.new @session
|
|
111
123
|
end
|
|
124
|
+
|
|
125
|
+
# Provides access to InvestmentsPortfolio resource
|
|
126
|
+
# @return [InvestmentsPortfolio]
|
|
127
|
+
def investments_portfolio
|
|
128
|
+
@investments_portfolio = InvestmentsPortfolio.new @session
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# Provides access to InvestmentsTransaction resource
|
|
132
|
+
# @return [InvestmentsTransaction]
|
|
133
|
+
def investments_transaction
|
|
134
|
+
@investments_transaction = InvestmentsTransaction.new @session
|
|
135
|
+
end
|
|
112
136
|
end
|
|
113
137
|
end
|
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.19.2
|
|
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-12-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -53,7 +53,7 @@ dependencies:
|
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: coveralls_reborn
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - ">="
|
|
@@ -146,14 +146,15 @@ executables: []
|
|
|
146
146
|
extensions: []
|
|
147
147
|
extra_rdoc_files: []
|
|
148
148
|
files:
|
|
149
|
+
- ".circleci/config.yml"
|
|
149
150
|
- ".codeclimate.yml"
|
|
151
|
+
- ".github/CODEOWNERS"
|
|
150
152
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
|
151
153
|
- ".github/pull_request_template.md"
|
|
152
154
|
- ".github/workflows/danger-pr-reviews.yml"
|
|
153
155
|
- ".gitignore"
|
|
154
156
|
- ".rspec"
|
|
155
157
|
- ".rubocop.yml"
|
|
156
|
-
- ".travis.yml"
|
|
157
158
|
- CODE_OF_CONDUCT.md
|
|
158
159
|
- Dangerfile
|
|
159
160
|
- Gemfile
|
|
@@ -193,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
193
194
|
- !ruby/object:Gem::Version
|
|
194
195
|
version: '0'
|
|
195
196
|
requirements: []
|
|
196
|
-
rubygems_version: 3.
|
|
197
|
+
rubygems_version: 3.2.32
|
|
197
198
|
signing_key:
|
|
198
199
|
specification_version: 4
|
|
199
200
|
summary: The Ruby gem for the Belvo API
|
data/.travis.yml
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
cache: bundler
|
|
3
|
-
rvm:
|
|
4
|
-
- 2.5.5
|
|
5
|
-
before_install: gem install bundler -v 2.1.4
|
|
6
|
-
script:
|
|
7
|
-
- bundle exec rubocop
|
|
8
|
-
- bundle exec rspec spec
|
|
9
|
-
deploy:
|
|
10
|
-
provider: rubygems
|
|
11
|
-
api_key:
|
|
12
|
-
secure: nsKurIEds1W6zwyj0mDmYx77amlDJOycegZV9o+OrBOzRRcpT+O3oFHGouMzAQyIbdUtmWyXp9uJHBEz7Q6Zc5fy6iG05sGO7tFoJMlKiPE5piiOTM5y6qt1GjZ1MYIU0rpnsp9QDsVUR1ATGpoD9O/zzn/lOPbxp2FoWHqWra84D/1jvVXPTqslLgup+GDsxseiAfwTMoTy65TXodISkvoYtlPL3EBV4/XQVBjVGGtM5mdjDJg+YA4yVA2NwCCjhFcj88fRxBmqWRnG/pzmX3nyRlMGjtUBm8OpLSR1NiXXqgzYUAVMD8/8VL/h3OsBqvwqgjZKMO6rXqNKFJQAxYUqvJaLcHP8D05dxWlumqwxlHzscKWLjAe7JbVo2DiAMvMTR8NTJOI7LOraU10iFHtmwAVnyBOaSJUVJuFgAoybq9tqYoZ/uZ7shCuWVNUIWIQM7HN9v99tfvemXMB+2RIN565bzBWSorn5MvXsApvqCLLDFuRnt7urR+0ZyT4dKXgvWRhnNOQgiMwEE/8+Y66nKVB7iNxFDw6LtittyoOZ0HvbHQDtqXOkzT/yaq2Ff2zwuUNYrCHqcdnxg5TBOYg5ndurcFxAc77ZlNSvidEC9tgXHA1m+r0Vq+ZCWOiyyohX33ZfA/UsAIStKr7a6ZLZZywuiqXasg1O9XoRB74=
|
|
13
|
-
gem: belvo
|
|
14
|
-
on:
|
|
15
|
-
tags: true
|
|
16
|
-
repo: belvo-finance/belvo-ruby
|
|
17
|
-
branch: master
|
|
18
|
-
skip_cleanup: 'true'
|