skrinits / linters

Checking number of linter(rubocop, reek, brakeman and so on) warnings. Continuous improvement of a project.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linters

Linters is a tool which checks ruby applications using different code's analyzers. Default available analyzers are:

  • rubocop
  • reek
  • brakeman
  • bundle-audit
  • fasterer

Installation

  • Using RubyGems:

    gem install linters

    Install the linters which you want to use:

    gem install rubocop reek and etc...

  • Using Bundler:

    group :development do
      gem 'linters'
    end

    Add linters which you want to use:

      group :development do
        gem 'rubocop'
        gem 'reek'
        and etc...
      end

And then execute:

$ bundle

Usage

Configuration

Settings with default values:

  Linters.configure do |config|
    config.custom_linters = {}
    config.linters = %i[rubocop reek bundle_audit fasterer]
    config.settings_path = 'config/linter_settings.yml'
  end

Default config/linter_settings.yml:

linters:
  checkers:
    - rubocop
    - reek
    - bundle_audit
    - fasterer
  rubocop:
    warnings_number: 0
  reek:
    warnings_number: 0
  bundle_audit:
    warnings_number: 0
  fasterer:
    warnings_number: 0

If settings is absent that warnings_number equal zero.

Adding a customer linter

  Linters.configure do |config|
    config.custom_linters = {
      name: {
        command: 'execute command',
        parse_output: lambda { |output| 'parse output of the command for getting quantity of warnings' }
      }
    }
  end

Rewrite an available linter

  Linters.configure do |config|
    config.custom_linters = {
      rubocop: {
        command: 'your command',
        parse_output: lambda { |output| 'your parsing output' }
      }
    }
  end

Run a check

  • Run all linters
  rake linters:run_all
  • Run a specific linter
  rake linters:run[name of linter]

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/skrinits/linters.

License

The gem is available as open source under the terms of the MIT License.

About

Checking number of linter(rubocop, reek, brakeman and so on) warnings. Continuous improvement of a project.

License:MIT License


Languages

Language:Ruby 99.0%Language:Shell 1.0%