belvo 1.4.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/danger-pr-reviews-custom.yml +52 -0
- data/.github/workflows/danger-pr-reviews.yml +7 -4
- data/.github/workflows/generate-docs.yml +3 -2
- data/Dangerfile +21 -15
- data/Dangerfile.custom +6 -0
- data/Gemfile.lock +4 -3
- data/README.md +1 -1
- data/lib/belvo/options.rb +8 -0
- data/lib/belvo/resources.rb +25 -0
- data/lib/belvo/version.rb +1 -1
- data/lib/belvo.rb +6 -0
- data/specs.4.8.gz +0 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0de1101793b44dc5c12a680162aa516f45b4866bd5279d492fc83f3b31cdb39f
|
4
|
+
data.tar.gz: dfda3b216359c9d6efd79ee5a2f6785b2256cada2a5cb6e65f77070eb9631fe8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27f919f95f5d7dcc9aece0bfae1a95f4e6227bf5cccce8a38547498ad290ad4bfb9d1478fee515a8e8c0e748a23a85a27ca8085ac7bc1a2c0fd4e71aa3dcb65a
|
7
|
+
data.tar.gz: 5a509f0079539806d3b56780dc9372ff340689712cc29c6cff5b457ce20a76d56628f68979b2aea036312f6c9184647cc149f74140d8d98176074325d8a31453
|
@@ -0,0 +1,52 @@
|
|
1
|
+
name: Run Danger (Custom)
|
2
|
+
|
3
|
+
on: [pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
name: Run Danger (Custom)
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
if: ${{ github.actor != 'dependabot[bot]' }}
|
10
|
+
|
11
|
+
steps:
|
12
|
+
- name: Checkout Code
|
13
|
+
uses: actions/checkout@v2
|
14
|
+
with:
|
15
|
+
fetch-depth: 50
|
16
|
+
|
17
|
+
# Setup ruby
|
18
|
+
- name: Set up Ruby 3.2
|
19
|
+
uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: 3.2
|
22
|
+
bundler-cache: true
|
23
|
+
|
24
|
+
# Install the right bundler version
|
25
|
+
- name: Install bundler
|
26
|
+
run: gem install bundler
|
27
|
+
|
28
|
+
# Cache dependencies
|
29
|
+
- name: Cache ruby dependencies
|
30
|
+
id: cache-ruby
|
31
|
+
uses: actions/cache@v3
|
32
|
+
with:
|
33
|
+
path: vendor/bundle
|
34
|
+
key: union-gems-${{ hashFiles('**/Gemfile.lock') }}
|
35
|
+
restore-keys: |
|
36
|
+
union-gems-
|
37
|
+
|
38
|
+
# Install dependencies on cache miss
|
39
|
+
- name: Install ruby dependencies
|
40
|
+
if: steps.cache-ruby.outputs.cache-hit != 'true'
|
41
|
+
run: |
|
42
|
+
bundle config --local without "documentation"
|
43
|
+
bundle config path vendor/bundle
|
44
|
+
bundle install --jobs 4 --retry 3
|
45
|
+
|
46
|
+
# Run danger
|
47
|
+
- name: Run danger
|
48
|
+
env:
|
49
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
50
|
+
run: |
|
51
|
+
bundle config path vendor/bundle
|
52
|
+
bundle exec danger --dangerfile=Dangerfile.custom
|
@@ -6,12 +6,13 @@ jobs:
|
|
6
6
|
build:
|
7
7
|
name: Run Danger
|
8
8
|
runs-on: ubuntu-latest
|
9
|
+
if: ${{ github.actor != 'dependabot[bot]' }}
|
9
10
|
|
10
11
|
steps:
|
11
12
|
- name: Checkout Code
|
12
13
|
uses: actions/checkout@v2
|
13
14
|
with:
|
14
|
-
fetch-depth:
|
15
|
+
fetch-depth: 50
|
15
16
|
|
16
17
|
# Setup ruby
|
17
18
|
- name: Set up Ruby 3.2
|
@@ -27,18 +28,21 @@ jobs:
|
|
27
28
|
# Cache dependencies
|
28
29
|
- name: Cache ruby dependencies
|
29
30
|
id: cache-ruby
|
30
|
-
uses: actions/cache@
|
31
|
+
uses: actions/cache@v3
|
31
32
|
with:
|
32
33
|
path: vendor/bundle
|
33
34
|
key: union-gems-${{ hashFiles('**/Gemfile.lock') }}
|
34
35
|
restore-keys: |
|
35
36
|
union-gems-
|
37
|
+
|
36
38
|
# Install dependencies on cache miss
|
37
39
|
- name: Install ruby dependencies
|
38
40
|
if: steps.cache-ruby.outputs.cache-hit != 'true'
|
39
41
|
run: |
|
42
|
+
bundle config --local without "documentation"
|
40
43
|
bundle config path vendor/bundle
|
41
|
-
bundle install --jobs 4 --retry 3
|
44
|
+
bundle install --jobs 4 --retry 3
|
45
|
+
|
42
46
|
# Run danger
|
43
47
|
- name: Run danger
|
44
48
|
env:
|
@@ -46,4 +50,3 @@ jobs:
|
|
46
50
|
run: |
|
47
51
|
bundle config path vendor/bundle
|
48
52
|
bundle exec danger
|
49
|
-
|
@@ -11,9 +11,10 @@ jobs:
|
|
11
11
|
- name: Checkout Belvo Ruby SDK repo
|
12
12
|
uses: actions/checkout@v2
|
13
13
|
- name: Set up Ruby
|
14
|
-
uses:
|
14
|
+
uses: ruby/setup-ruby@v1
|
15
15
|
with:
|
16
|
-
ruby-version:
|
16
|
+
ruby-version: 3.2
|
17
|
+
bundler-cache: true
|
17
18
|
- name: Install required gem dependencies
|
18
19
|
run: gem install yard --no-document
|
19
20
|
- name: Build RUBY SDK docs with YARD
|
data/Dangerfile
CHANGED
@@ -1,21 +1,27 @@
|
|
1
|
-
#
|
2
|
-
# Mainly to encourage writing up some reasoning about the PR, rather than
|
3
|
-
# just leaving a title
|
4
|
-
fail "Please provide a short summary in the PR description :page_with_curl:" if github.pr_body.length < 10
|
1
|
+
# frozen_string_literal: true
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
##########################################################################
|
4
|
+
# THIS FILE IS OWNED BY SECURITY CHANGES TO THIS FILE ARE MADE CENTRALLY #
|
5
|
+
# CONTACT SECURITY@BELVO.COM or SLACK #ASK-SECURITY #
|
6
|
+
##########################################################################
|
7
|
+
|
8
|
+
# Provide a description
|
9
|
+
if github.pr_body.length < 10
|
10
|
+
raise 'Please provide a short summary in the PR description :page_with_curl:'
|
9
11
|
end
|
10
12
|
|
11
|
-
# The title
|
12
|
-
if github.pr_labels.include?(
|
13
|
-
|
14
|
-
elsif
|
15
|
-
|
13
|
+
# The title has to include a JIRA ticket unless is a dependabot PR or SNYK
|
14
|
+
if github.pr_labels.include?('dependencies')
|
15
|
+
message 'PR autogenerated by dependabot'
|
16
|
+
elsif github.pr_title =~ /\[Snyk\]/
|
17
|
+
message 'PR generated by Snyk'
|
18
|
+
elsif github.pr_title !~ /\[[A-Z]{1,10}-[0-9]{1,5}\]/
|
19
|
+
raise 'Please provide a valid Jira ticket ID associated to this PR'\
|
20
|
+
'(e.g. [BEL-XXXXX]'
|
16
21
|
end
|
17
22
|
|
18
|
-
|
23
|
+
if github.pr_title.include? '[WIP]'
|
24
|
+
warn('PR is classed as Work in Progress', sticky: false)
|
25
|
+
end
|
19
26
|
|
20
|
-
message(
|
21
|
-
# rubocop:enable all
|
27
|
+
message('One approval required for merging')
|
data/Dangerfile.custom
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
# The PR title should include the correct label
|
2
|
+
if !github.pr_title.match(/\[Snyk\]/) &&
|
3
|
+
!github.pr_labels.include?("dependencies") &&
|
4
|
+
!github.pr_title.match(/^\[(?:Added|Changed|Docs|Fixed|Migrations|Other|Removed|Security)\]/)
|
5
|
+
fail "Please provide a valid PR title label: [Added]/[Changed]/[Docs]/[Fixed]/[Migrations]/[Other]/[Removed]/[Security]."
|
6
|
+
end
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
belvo (1.
|
4
|
+
belvo (1.6.0)
|
5
5
|
faraday
|
6
6
|
faraday_middleware
|
7
7
|
typhoeus
|
@@ -42,7 +42,7 @@ GEM
|
|
42
42
|
terminal-table (~> 1)
|
43
43
|
diff-lcs (1.5.0)
|
44
44
|
docile (1.4.0)
|
45
|
-
ethon (0.
|
45
|
+
ethon (0.16.0)
|
46
46
|
ffi (>= 1.15.0)
|
47
47
|
faraday (1.10.0)
|
48
48
|
faraday-em_http (~> 1.0)
|
@@ -72,7 +72,8 @@ GEM
|
|
72
72
|
faraday_middleware (1.2.0)
|
73
73
|
faraday (~> 1.0)
|
74
74
|
ffi (1.15.5)
|
75
|
-
git (1.
|
75
|
+
git (1.17.2)
|
76
|
+
addressable (~> 2.8)
|
76
77
|
rchardet (~> 1.8)
|
77
78
|
hashdiff (1.0.1)
|
78
79
|
jaro_winkler (1.5.4)
|
data/README.md
CHANGED
@@ -117,7 +117,7 @@ To install this gem onto your local machine, run `bundle exec rake install`.
|
|
117
117
|
To release a new version:
|
118
118
|
- Create a new branch from master.
|
119
119
|
- Update the version number in `version.rb`
|
120
|
-
- Run `bundle exec rake install` to update `Gemfile.lock` version
|
120
|
+
- Run `bundle exec rake install` to update `Gemfile.lock` version (might need sudo)
|
121
121
|
- Create a new pull request for the new version.
|
122
122
|
- Once the new version is merged in `master`, create a `tag` matching the new version.
|
123
123
|
|
data/lib/belvo/options.rb
CHANGED
@@ -214,4 +214,12 @@ module Belvo
|
|
214
214
|
# @!attribute token [rw] OTP token required by the institution
|
215
215
|
class InvestmentsPortfolioOptions < Faraday::Options.new(:token, :save_data)
|
216
216
|
end
|
217
|
+
|
218
|
+
# @!class EmploymentRecordsOptions < Faraday::Options
|
219
|
+
# Contains configurable properties of an Employment Record
|
220
|
+
# @!attribute save_data [rw] Should data be persisted or not.
|
221
|
+
# @!attribute attach_pdf [rw] Should the PDF file be included in the
|
222
|
+
# response or not.
|
223
|
+
class EmploymentRecordsOptions < Faraday::Options.new(:save_data, :attach_pdf)
|
224
|
+
end
|
217
225
|
end
|
data/lib/belvo/resources.rb
CHANGED
@@ -655,4 +655,29 @@ module Belvo
|
|
655
655
|
@session.post(@endpoint, body)
|
656
656
|
end
|
657
657
|
end
|
658
|
+
|
659
|
+
# Employment records
|
660
|
+
class EmploymentRecords < Resource
|
661
|
+
def initialize(session)
|
662
|
+
super(session)
|
663
|
+
@endpoint = 'api/employment-records/'
|
664
|
+
end
|
665
|
+
|
666
|
+
# Retrieve employment records from an existing government link
|
667
|
+
# @param link [String] Link UUID
|
668
|
+
# @param options [EmploymentRecordsOptions] Configurable properties
|
669
|
+
# @return [Hash] created employment records details
|
670
|
+
# @raise [RequestError] If response code is different than 2XX
|
671
|
+
def retrieve(link:, options: nil)
|
672
|
+
options = EmploymentRecordsOptions.from(options)
|
673
|
+
body = {
|
674
|
+
link: link,
|
675
|
+
save_data: options.save_data || true,
|
676
|
+
attach_pdf: options.attach_pdf
|
677
|
+
}.merge(options)
|
678
|
+
|
679
|
+
body = clean body: body
|
680
|
+
@session.post(@endpoint, body)
|
681
|
+
end
|
682
|
+
end
|
658
683
|
end
|
data/lib/belvo/version.rb
CHANGED
data/lib/belvo.rb
CHANGED
@@ -139,5 +139,11 @@ module Belvo
|
|
139
139
|
def investments_portfolio
|
140
140
|
@investments_portfolio = InvestmentsPortfolio.new @session
|
141
141
|
end
|
142
|
+
|
143
|
+
# Provides access to EmploymentRecords resource
|
144
|
+
# @return [EmploymentRecords]
|
145
|
+
def employment_records
|
146
|
+
@employment_records = EmploymentRecords.new @session
|
147
|
+
end
|
142
148
|
end
|
143
149
|
end
|
data/specs.4.8.gz
ADDED
Binary file
|
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: 1.
|
4
|
+
version: 1.6.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: 2023-
|
11
|
+
date: 2023-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -151,6 +151,7 @@ files:
|
|
151
151
|
- ".github/CODEOWNERS"
|
152
152
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
153
153
|
- ".github/pull_request_template.md"
|
154
|
+
- ".github/workflows/danger-pr-reviews-custom.yml"
|
154
155
|
- ".github/workflows/danger-pr-reviews.yml"
|
155
156
|
- ".github/workflows/generate-docs.yml"
|
156
157
|
- ".gitignore"
|
@@ -158,6 +159,7 @@ files:
|
|
158
159
|
- ".rubocop.yml"
|
159
160
|
- CODE_OF_CONDUCT.md
|
160
161
|
- Dangerfile
|
162
|
+
- Dangerfile.custom
|
161
163
|
- Gemfile
|
162
164
|
- Gemfile.lock
|
163
165
|
- LICENSE
|
@@ -173,6 +175,7 @@ files:
|
|
173
175
|
- lib/belvo/resources.rb
|
174
176
|
- lib/belvo/utils.rb
|
175
177
|
- lib/belvo/version.rb
|
178
|
+
- specs.4.8.gz
|
176
179
|
homepage: https://github.com/belvo-finance/belvo-ruby
|
177
180
|
licenses:
|
178
181
|
- MIT
|