belvo 0.18.0 → 0.19.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fbba449f201c38edea545d7fe6872cc9a8c9889e4f80d8d8a40b7b61818cbe63
4
- data.tar.gz: 5cf8afcb0d4399501fd3164574bc11b809d0b13fb424c903853c5de48af286f8
3
+ metadata.gz: efea687616660ff8f3d179ac0069cf8264ec2a0777d73e592b7510894a30cd4b
4
+ data.tar.gz: ce5e1215ba5278fb40e2192e77d9e1f4e6675e17436255d0b0e2f0d14cde97eb
5
5
  SHA512:
6
- metadata.gz: ee61c813d1e3ee24c121cbfa153177cd74b651a6f5166c34d233823d2dba0de28a823d572dc25f0be326b488dd5b69a522c203ed3a6fe2175a3ed0731b03dfc7
7
- data.tar.gz: f13e6b50640906ba4bb72be13f5157eae26be7b5bb23c480ada64574e4e032d762832702bc2fc3f510374cc973995ecfcd90ed097dae6651c77b460d1d168fc8
6
+ metadata.gz: 827e7bc7c884745ccd3e6821edc3384e1585fd1033cef0e3efef0505898de894642c6d30b288cb2bdc4e131a6661cb35561a61cee5a9c0750e08e09e396d1e94
7
+ data.tar.gz: 37495bcce07c083dc5a0631b1a78e71a615e60abb9883b8c551d98a4a1c9b5304582f8d8da9f15b5e801e80210f6736872b2ac7d2bd0e8bb7b4d48e67a4dbac5
data/.circleci/config.yml CHANGED
@@ -46,8 +46,7 @@ workflows:
46
46
  - test
47
47
  filters:
48
48
  branches:
49
- only:
50
- - master
49
+ ignore: /.*/
51
50
  tags:
52
51
  only: /^v.*/
53
52
  context:
@@ -0,0 +1 @@
1
+ * @belvo-finance/ruby @belvo-finance/opensource
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- belvo (0.18.0)
4
+ belvo (0.19.2)
5
5
  faraday
6
6
  faraday_middleware
7
7
  typhoeus
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/api/', url: url)
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
@@ -175,4 +175,23 @@ module Belvo
175
175
  :widget
176
176
  )
177
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
178
197
  end
@@ -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
@@ -354,7 +354,7 @@ module Belvo
354
354
  class RecurringExpenses < Resource
355
355
  def initialize(session)
356
356
  super(session)
357
- @endpoint = 'recurring-expenses/'
357
+ @endpoint = 'api/recurring-expenses/'
358
358
  end
359
359
 
360
360
  # Retrieve recurring expenses information from a specific banking link
@@ -378,7 +378,7 @@ module Belvo
378
378
  class RiskInsights < Resource
379
379
  def initialize(session)
380
380
  super(session)
381
- @endpoint = 'risk-insights/'
381
+ @endpoint = 'api/risk-insights/'
382
382
  end
383
383
 
384
384
  # Retrieve risk insights information from a specific banking link
@@ -402,7 +402,7 @@ module Belvo
402
402
  class TaxComplianceStatus < Resource
403
403
  def initialize(session)
404
404
  super(session)
405
- @endpoint = 'tax-compliance-status/'
405
+ @endpoint = 'api/tax-compliance-status/'
406
406
  end
407
407
 
408
408
  # Retrieve tax compliance status information from a specific fiscal link.
@@ -433,7 +433,7 @@ module Belvo
433
433
  class TaxReturn < Resource
434
434
  def initialize(session)
435
435
  super(session)
436
- @endpoint = 'tax-returns/'
436
+ @endpoint = 'api/tax-returns/'
437
437
  end
438
438
 
439
439
  class TaxReturnType
@@ -478,7 +478,7 @@ module Belvo
478
478
  class TaxStatus < Resource
479
479
  def initialize(session)
480
480
  super(session)
481
- @endpoint = 'tax-status/'
481
+ @endpoint = 'api/tax-status/'
482
482
  end
483
483
 
484
484
  # Retrieve tax status information from a specific fiscal link.
@@ -508,7 +508,7 @@ module Belvo
508
508
  class Institution < Resource
509
509
  def initialize(session)
510
510
  super(session)
511
- @endpoint = 'institutions/'
511
+ @endpoint = 'api/institutions/'
512
512
  end
513
513
  end
514
514
 
@@ -518,7 +518,7 @@ module Belvo
518
518
  class WidgetToken < Resource
519
519
  def initialize(session)
520
520
  super(session)
521
- @endpoint = 'token/'
521
+ @endpoint = 'api/token/'
522
522
  end
523
523
 
524
524
  def create(options: nil)
@@ -538,4 +538,57 @@ module Belvo
538
538
  @session.post(@endpoint, body)
539
539
  end
540
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
541
594
  end
data/lib/belvo/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Belvo
4
4
  # belvo-ruby current version
5
- VERSION = '0.18.0'
5
+ VERSION = '0.19.2'
6
6
  end
data/lib/belvo.rb CHANGED
@@ -121,5 +121,17 @@ module Belvo
121
121
  def widget_token
122
122
  @widget_token = WidgetToken.new @session
123
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
124
136
  end
125
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.18.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-19 00:00:00.000000000 Z
11
+ date: 2021-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -148,6 +148,7 @@ extra_rdoc_files: []
148
148
  files:
149
149
  - ".circleci/config.yml"
150
150
  - ".codeclimate.yml"
151
+ - ".github/CODEOWNERS"
151
152
  - ".github/ISSUE_TEMPLATE/feature_request.md"
152
153
  - ".github/pull_request_template.md"
153
154
  - ".github/workflows/danger-pr-reviews.yml"
@@ -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.2.22
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