belvo 1.4.0 → 1.5.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/.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 +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: cb2779e82bc56e77377b9c0a11c349fcf2b9e344d094004f8fd4314a3e3e47ba
         | 
| 4 | 
            +
              data.tar.gz: 269766531d31fb9e9b33481024bf47ff534b93a2703210d419e382cb1b93b125
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: c7ceb92b9b07ce906f29a71459849f9bef5171ca6028f82e78e0c34404804cf0d591fdcc80684dbdb7623eaa43735d6438d9ed58e39bcfe568384cf65c13ec9a
         | 
| 7 | 
            +
              data.tar.gz: a999b7ddb4701aee56cc9da5bcc254efd0b73c5a4195685d219b1b099588af2f161e3810f7b5ed18bfd61bab82bf16987e39f648095f354657042cfd3352a935
         | 
| @@ -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
    
    
    
        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.5.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-08 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
         |