coveralls_reborn 0.22.0 → 0.23.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/rubocop.yml +29 -0
- data/.github/workflows/ruby.yml +51 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +4 -4
- data/README.md +37 -2
- data/Rakefile +0 -1
- data/coveralls-ruby.gemspec +1 -0
- data/lib/coveralls/simplecov.rb +14 -0
- data/lib/coveralls/version.rb +1 -1
- data/spec/coveralls/fixtures/app/models/user.rb +6 -0
- data/spec/coveralls/simple_cov/formatter_spec.rb +36 -2
- data/spec/spec_helper.rb +19 -5
- metadata +18 -3
- data/.travis.yml +0 -33
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8d60acce3dea2248f73864689d5ad1fdfda5da46bb17b9666bf8bb94b911b070
         | 
| 4 | 
            +
              data.tar.gz: 5c235845bb44951d9a53961aa6a9e4cd3dbed865d3d54d7bd3d7f5e1b7b535d6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 52c45871f2b938204024cc0479d2663a49818fd4a675cf56b315a767576658663c32beb136d9ac30a5bb853ff97bc434f8f9ca621a5d420d9e4719c2d5e139ab
         | 
| 7 | 
            +
              data.tar.gz: ca395d514b29d860a8462847cfc20419e5ae0300b964d9d51491e55f046cd0b6cb5f5bc651036ffc2b48a7ad2bfb8c93bc69f3997fab5879c58c20810e81405c
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            name: Rubocop
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            on:
         | 
| 4 | 
            +
              push:
         | 
| 5 | 
            +
                branches: [ main ]
         | 
| 6 | 
            +
              pull_request:
         | 
| 7 | 
            +
                branches: [ main ]
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            jobs:
         | 
| 10 | 
            +
              rubocop:
         | 
| 11 | 
            +
                name: Rubocop
         | 
| 12 | 
            +
                runs-on: ${{ matrix.os }}
         | 
| 13 | 
            +
                env:
         | 
| 14 | 
            +
                  BUNDLE_JOBS: 4
         | 
| 15 | 
            +
                  BUNDLE_RETRY: 3
         | 
| 16 | 
            +
                strategy:
         | 
| 17 | 
            +
                  matrix:
         | 
| 18 | 
            +
                    os: [ubuntu-latest]
         | 
| 19 | 
            +
                    ruby-version: ['2.5']
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                steps:
         | 
| 22 | 
            +
                - uses: actions/checkout@v2
         | 
| 23 | 
            +
                - name: Set up Ruby
         | 
| 24 | 
            +
                  uses: ruby/setup-ruby@v1
         | 
| 25 | 
            +
                  with:
         | 
| 26 | 
            +
                    ruby-version: ${{ matrix.ruby-version }}
         | 
| 27 | 
            +
                    bundler-cache: true
         | 
| 28 | 
            +
                - name: Ruby linter
         | 
| 29 | 
            +
                  run: bundle exec rubocop
         | 
| @@ -0,0 +1,51 @@ | |
| 1 | 
            +
            name: Ruby specs
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            on:
         | 
| 4 | 
            +
              push:
         | 
| 5 | 
            +
                branches: [ main ]
         | 
| 6 | 
            +
              pull_request:
         | 
| 7 | 
            +
                branches: [ main ]
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            jobs:
         | 
| 10 | 
            +
              test:
         | 
| 11 | 
            +
                name: Tests
         | 
| 12 | 
            +
                runs-on: ubuntu-latest
         | 
| 13 | 
            +
                strategy:
         | 
| 14 | 
            +
                  matrix:
         | 
| 15 | 
            +
                    ruby-version: ['2.5', '2.6', '2.7', '3.0']
         | 
| 16 | 
            +
                    experimental: [false]
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                    include:
         | 
| 19 | 
            +
                      - ruby-version: 'head'
         | 
| 20 | 
            +
                        experimental: true
         | 
| 21 | 
            +
                      - ruby-version: 'jruby-9.2'
         | 
| 22 | 
            +
                        experimental: true
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                continue-on-error: ${{ matrix.experimental }}
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                steps:
         | 
| 27 | 
            +
                - uses: actions/checkout@v2
         | 
| 28 | 
            +
                - name: Set up Ruby
         | 
| 29 | 
            +
                  uses: ruby/setup-ruby@v1
         | 
| 30 | 
            +
                  with:
         | 
| 31 | 
            +
                    ruby-version: ${{ matrix.ruby-version }}
         | 
| 32 | 
            +
                    bundler-cache: true
         | 
| 33 | 
            +
                - name: Run specs
         | 
| 34 | 
            +
                  run: JRUBY_OPTS="--dev --debug" bundle exec rake spec
         | 
| 35 | 
            +
                - name: Coveralls Parallel
         | 
| 36 | 
            +
                  uses: coverallsapp/github-action@master
         | 
| 37 | 
            +
                  with:
         | 
| 38 | 
            +
                    github-token: ${{ secrets.github_token }}
         | 
| 39 | 
            +
                    flag-name: run-${{ matrix.ruby-version }}
         | 
| 40 | 
            +
                    parallel: true
         | 
| 41 | 
            +
             | 
| 42 | 
            +
              coverage:
         | 
| 43 | 
            +
                name: Coverage
         | 
| 44 | 
            +
                needs: test
         | 
| 45 | 
            +
                runs-on: ubuntu-latest
         | 
| 46 | 
            +
                steps:
         | 
| 47 | 
            +
                - name: Coveralls Finished
         | 
| 48 | 
            +
                  uses: coverallsapp/github-action@master
         | 
| 49 | 
            +
                  with:
         | 
| 50 | 
            +
                    github-token: ${{ secrets.github_token }}
         | 
| 51 | 
            +
                    parallel-finished: true
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    | @@ -14,10 +14,10 @@ gem 'pry', '~> 0.13.1' | |
| 14 14 | 
             
            gem 'pry-byebug', '~> 3.9', platforms: %i[mri mingw x64_mingw]
         | 
| 15 15 | 
             
            gem 'rake', '~> 13.0'
         | 
| 16 16 | 
             
            gem 'rspec', '~> 3.10'
         | 
| 17 | 
            -
            gem 'rubocop', '~> 1. | 
| 17 | 
            +
            gem 'rubocop', '~> 1.20'
         | 
| 18 18 | 
             
            gem 'rubocop-performance', '~> 1.11'
         | 
| 19 | 
            -
            gem 'rubocop-rake', '~> 0. | 
| 20 | 
            -
            gem 'rubocop-rspec', '~> 2. | 
| 19 | 
            +
            gem 'rubocop-rake', '~> 0.6.0'
         | 
| 20 | 
            +
            gem 'rubocop-rspec', '~> 2.4'
         | 
| 21 21 | 
             
            gem 'truthy', '~> 1.0'
         | 
| 22 22 | 
             
            gem 'vcr', '~> 6.0'
         | 
| 23 | 
            -
            gem 'webmock', '~> 3. | 
| 23 | 
            +
            gem 'webmock', '~> 3.14'
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            # [Coveralls Reborn](https://coveralls.io) for Ruby [](https://coveralls.io/github/tagliala/coveralls-ruby-reborn?branch=main)  | 
| 1 | 
            +
            # [Coveralls Reborn](https://coveralls.io) for Ruby [](https://coveralls.io/github/tagliala/coveralls-ruby-reborn?branch=main)  [](https://badge.fury.io/rb/coveralls_reborn)
         | 
| 2 2 |  | 
| 3 3 | 
             
            ### [Read the docs →](https://docs.coveralls.io/ruby-on-rails)
         | 
| 4 4 |  | 
| @@ -7,5 +7,40 @@ An up-to-date fork of [lemurheavy/coveralls-ruby](https://github.com/lemurheavy/ | |
| 7 7 | 
             
            Add to your `Gemfile`:
         | 
| 8 8 |  | 
| 9 9 | 
             
            ```rb
         | 
| 10 | 
            -
            gem 'coveralls_reborn', '~> 0. | 
| 10 | 
            +
            gem 'coveralls_reborn', '~> 0.23.0', require: false
         | 
| 11 11 | 
             
            ```
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ### GitHub Actions
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            Psst... you don't need this gem on GitHub Actions.
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            For a Rails application, just add
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            ```rb
         | 
| 20 | 
            +
            gem 'simplecov-lcov', '~> 0.8.0'
         | 
| 21 | 
            +
            ```
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            to your `Gemfile` and
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            ```rb
         | 
| 26 | 
            +
            require 'simplecov'
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            SimpleCov.start 'rails' do
         | 
| 29 | 
            +
              if ENV['CI']
         | 
| 30 | 
            +
                require 'simplecov-lcov'
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                SimpleCov::Formatter::LcovFormatter.config do |c|
         | 
| 33 | 
            +
                  c.report_with_single_file = true
         | 
| 34 | 
            +
                  c.single_report_path = 'coverage/lcov.info'
         | 
| 35 | 
            +
                end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                formatter SimpleCov::Formatter::LcovFormatter
         | 
| 38 | 
            +
              end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
              add_filter %w[version.rb initializer.rb]
         | 
| 41 | 
            +
            end
         | 
| 42 | 
            +
            ```
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            at the top of `spec_helper.rb` / `rails_helper.rb` / `test_helper.rb`.
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            Then follow instructions at [Coveralls GitHub Action](https://github.com/marketplace/actions/coveralls-github-action)
         | 
    
        data/Rakefile
    CHANGED
    
    
    
        data/coveralls-ruby.gemspec
    CHANGED
    
    
    
        data/lib/coveralls/simplecov.rb
    CHANGED
    
    | @@ -45,6 +45,7 @@ module Coveralls | |
| 45 45 |  | 
| 46 46 | 
             
                      # Get the coverage
         | 
| 47 47 | 
             
                      properties[:coverage] = file.coverage_data['lines']
         | 
| 48 | 
            +
                      properties[:branches] = branches(file.coverage_data['branches']) if file.coverage_data['branches']
         | 
| 48 49 |  | 
| 49 50 | 
             
                      # Skip nocov lines
         | 
| 50 51 | 
             
                      file.lines.each_with_index do |line, i|
         | 
| @@ -57,6 +58,19 @@ module Coveralls | |
| 57 58 | 
             
                    source_files
         | 
| 58 59 | 
             
                  end
         | 
| 59 60 |  | 
| 61 | 
            +
                  def branches(simplecov_branches)
         | 
| 62 | 
            +
                    branches_properties = []
         | 
| 63 | 
            +
                    simplecov_branches.each do |branch_data, data|
         | 
| 64 | 
            +
                      branch_number = 0
         | 
| 65 | 
            +
                      line_number = branch_data.split(', ')[2].to_i
         | 
| 66 | 
            +
                      data.each_value do |hits|
         | 
| 67 | 
            +
                        branch_number += 1
         | 
| 68 | 
            +
                        branches_properties.concat([line_number, 0, branch_number, hits])
         | 
| 69 | 
            +
                      end
         | 
| 70 | 
            +
                    end
         | 
| 71 | 
            +
                    branches_properties
         | 
| 72 | 
            +
                  end
         | 
| 73 | 
            +
             | 
| 60 74 | 
             
                  def format(result)
         | 
| 61 75 | 
             
                    unless Coveralls.should_run?
         | 
| 62 76 | 
             
                      display_result result if Coveralls.noisy?
         | 
    
        data/lib/coveralls/version.rb
    CHANGED
    
    
| @@ -18,7 +18,15 @@ describe Coveralls::SimpleCov::Formatter do | |
| 18 18 | 
             
                  source_fixture('app/models/dog.rb')         => { lines: [1, 1, 1, 1, 1] },
         | 
| 19 19 | 
             
                  source_fixture('app/models/house.rb')       => { lines: [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil] },
         | 
| 20 20 | 
             
                  source_fixture('app/models/robot.rb')       => { lines: [1, 1, 1, 1, nil, nil, 1, 0, nil, nil] },
         | 
| 21 | 
            -
                  source_fixture('app/models/user.rb')        => { | 
| 21 | 
            +
                  source_fixture('app/models/user.rb')        => {
         | 
| 22 | 
            +
                    lines: [nil, 1, 1, 0, nil, nil, 1, 0, nil, nil, 1, 0, 0, nil, nil, nil],
         | 
| 23 | 
            +
                    'branches' => {
         | 
| 24 | 
            +
                      '[:if, 0, 12, 4, 14, 7]' => {
         | 
| 25 | 
            +
                        '[:then, 1, 13, 6, 13, 11]' => 1,
         | 
| 26 | 
            +
                        '[:else, 2, 12, 4, 14, 7]'  => 0
         | 
| 27 | 
            +
                      }
         | 
| 28 | 
            +
                    }
         | 
| 29 | 
            +
                  },
         | 
| 22 30 | 
             
                  source_fixture('sample.rb')                 => { lines: [nil, 1, 1, 1, nil, 0, 1, 1, nil, nil] }
         | 
| 23 31 | 
             
                }
         | 
| 24 32 |  | 
| @@ -74,12 +82,38 @@ describe Coveralls::SimpleCov::Formatter do | |
| 74 82 | 
             
                end
         | 
| 75 83 |  | 
| 76 84 | 
             
                describe '#get_source_files' do
         | 
| 77 | 
            -
                  let(:source_files) {  | 
| 85 | 
            +
                  let(:source_files) { instance.get_source_files(result) }
         | 
| 86 | 
            +
                  let(:instance) do
         | 
| 87 | 
            +
                    described_class.new.tap do |ins|
         | 
| 88 | 
            +
                      allow(ins).to receive(:branches)
         | 
| 89 | 
            +
                    end
         | 
| 90 | 
            +
                  end
         | 
| 78 91 |  | 
| 79 92 | 
             
                  it 'nils the skipped lines' do
         | 
| 80 93 | 
             
                    source_file = source_files.first
         | 
| 81 94 | 
             
                    expect(source_file[:coverage]).to eq [nil, 1, 1, 1, nil, 0, 1, 1, nil, nil, nil, nil, nil]
         | 
| 82 95 | 
             
                  end
         | 
| 96 | 
            +
             | 
| 97 | 
            +
                  it 'calls #branches when branch coverage is present' do
         | 
| 98 | 
            +
                    source_files
         | 
| 99 | 
            +
                    expect(instance).to have_received(:branches).once
         | 
| 100 | 
            +
                  end
         | 
| 101 | 
            +
                end
         | 
| 102 | 
            +
             | 
| 103 | 
            +
                describe '#branches' do
         | 
| 104 | 
            +
                  let(:branch_coverage_parsed) { described_class.new.branches(simplecov_branches_results) }
         | 
| 105 | 
            +
                  let(:simplecov_branches_results) do
         | 
| 106 | 
            +
                    {
         | 
| 107 | 
            +
                      '[:if, 0, 12, 4, 14, 7]' => {
         | 
| 108 | 
            +
                        '[:then, 1, 13, 6, 13, 11]' => 1,
         | 
| 109 | 
            +
                        '[:else, 2, 12, 4, 14, 7]'  => 0
         | 
| 110 | 
            +
                      }
         | 
| 111 | 
            +
                    }
         | 
| 112 | 
            +
                  end
         | 
| 113 | 
            +
             | 
| 114 | 
            +
                  it 'return coveralls required structure' do
         | 
| 115 | 
            +
                    expect(branch_coverage_parsed).to eq [12, 0, 1, 1, 12, 0, 2, 0]
         | 
| 116 | 
            +
                  end
         | 
| 83 117 | 
             
                end
         | 
| 84 118 |  | 
| 85 119 | 
             
                describe '#short_filename' do
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -13,11 +13,25 @@ class InceptionFormatter | |
| 13 13 | 
             
            end
         | 
| 14 14 |  | 
| 15 15 | 
             
            def setup_formatter
         | 
| 16 | 
            -
               | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 16 | 
            +
              if ENV['GITHUB_ACTIONS']
         | 
| 17 | 
            +
                require 'simplecov-lcov'
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                SimpleCov::Formatter::LcovFormatter.config do |c|
         | 
| 20 | 
            +
                  c.report_with_single_file = true
         | 
| 21 | 
            +
                  c.single_report_path = 'coverage/lcov.info'
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              SimpleCov.formatter =
         | 
| 26 | 
            +
                if ENV['CI'] || ENV['COVERALLS_REPO_TOKEN']
         | 
| 27 | 
            +
                  if ENV['GITHUB_ACTIONS']
         | 
| 28 | 
            +
                    SimpleCov::Formatter::MultiFormatter.new([InceptionFormatter, SimpleCov::Formatter::LcovFormatter])
         | 
| 29 | 
            +
                  else
         | 
| 30 | 
            +
                    InceptionFormatter
         | 
| 31 | 
            +
                  end
         | 
| 32 | 
            +
                else
         | 
| 33 | 
            +
                  SimpleCov::Formatter::HTMLFormatter
         | 
| 34 | 
            +
                end
         | 
| 21 35 |  | 
| 22 36 | 
             
              SimpleCov.start do
         | 
| 23 37 | 
             
                add_filter do |source_file|
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: coveralls_reborn
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.23.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Nick Merwin
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire:
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2021- | 
| 13 | 
            +
            date: 2021-09-12 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: simplecov
         | 
| @@ -100,6 +100,20 @@ dependencies: | |
| 100 100 | 
             
                - - "<"
         | 
| 101 101 | 
             
                  - !ruby/object:Gem::Version
         | 
| 102 102 | 
             
                    version: '3'
         | 
| 103 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 104 | 
            +
              name: simplecov-lcov
         | 
| 105 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 106 | 
            +
                requirements:
         | 
| 107 | 
            +
                - - "~>"
         | 
| 108 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 109 | 
            +
                    version: 0.8.0
         | 
| 110 | 
            +
              type: :development
         | 
| 111 | 
            +
              prerelease: false
         | 
| 112 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 113 | 
            +
                requirements:
         | 
| 114 | 
            +
                - - "~>"
         | 
| 115 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 116 | 
            +
                    version: 0.8.0
         | 
| 103 117 | 
             
            description: A Ruby implementation of the Coveralls API.
         | 
| 104 118 | 
             
            email:
         | 
| 105 119 | 
             
            - nick@lemurheavy.com
         | 
| @@ -111,10 +125,11 @@ extensions: [] | |
| 111 125 | 
             
            extra_rdoc_files: []
         | 
| 112 126 | 
             
            files:
         | 
| 113 127 | 
             
            - ".github/dependabot.yml"
         | 
| 128 | 
            +
            - ".github/workflows/rubocop.yml"
         | 
| 129 | 
            +
            - ".github/workflows/ruby.yml"
         | 
| 114 130 | 
             
            - ".gitignore"
         | 
| 115 131 | 
             
            - ".rspec"
         | 
| 116 132 | 
             
            - ".rubocop.yml"
         | 
| 117 | 
            -
            - ".travis.yml"
         | 
| 118 133 | 
             
            - CHANGELOG.md
         | 
| 119 134 | 
             
            - Gemfile
         | 
| 120 135 | 
             
            - LICENSE
         | 
    
        data/.travis.yml
    DELETED
    
    | @@ -1,33 +0,0 @@ | |
| 1 | 
            -
            os: linux
         | 
| 2 | 
            -
            dist: focal
         | 
| 3 | 
            -
            language: ruby
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            cache: bundler
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            env:
         | 
| 8 | 
            -
              global:
         | 
| 9 | 
            -
                # --dev improves JRuby startup time
         | 
| 10 | 
            -
                # --debug reports proper coverage to SimpleCov
         | 
| 11 | 
            -
                # See https://github.com/jruby/jruby/wiki/Improving-startup-time
         | 
| 12 | 
            -
                - JRUBY_OPTS="--dev --debug"
         | 
| 13 | 
            -
             | 
| 14 | 
            -
            rvm:
         | 
| 15 | 
            -
              - 2.5.9
         | 
| 16 | 
            -
              - 2.6.7
         | 
| 17 | 
            -
              - 2.7.3
         | 
| 18 | 
            -
              - 3.0.1
         | 
| 19 | 
            -
              - ruby-head
         | 
| 20 | 
            -
              - jruby-9.2.17.0
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            jobs:
         | 
| 23 | 
            -
              allow_failures:
         | 
| 24 | 
            -
                - rvm: ruby-head
         | 
| 25 | 
            -
                - rvm: jruby-9.2.17.0
         | 
| 26 | 
            -
              include:
         | 
| 27 | 
            -
                - rvm: 2.5.9
         | 
| 28 | 
            -
                  gemfile: Gemfile
         | 
| 29 | 
            -
                  script: bundle exec rake rubocop
         | 
| 30 | 
            -
                  name: RuboCop
         | 
| 31 | 
            -
              fast_finish: true
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            script: bundle exec rake spec
         |