SVG RuboCop Logo, Copyright (c) 2014 Dimiter Petrov, CC BY-NC 4.0, see docs/images/logo/README.txt SVG RuboCop Logo, Copyright (c) 2014 Dimiter Petrov, CC BY-NC 4.0, see docs/images/logo/README.txt Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5, see docs/images/logo/README.txt SemVer.org Logo by @maxhaz, see docs/images/logo/README.txt SemVer.org Logo by @maxhaz, see docs/images/logo/README.txt

🦾 RuboCop LTS

PROJECT DOCUMENTATION

This README

This Branch 🌳

This README is for the even release of rubocop-lts supporting Ruby >= 3.2.

This gem configures many gems for you:

  • rubocop
  • rubocop-gradual
  • rubocop-md
  • rubocop-rake
  • rubocop-shopify
  • rubocop-thread_safety
  • standard
  • standard-performance (incl. rubocop-performance)
  • standard-custom
  • standard-rubocop-lts (ruby version-specific rules)

And optionally, if you are using RSpec:

  • rubocop-rspec

And optionally, if you are building a RubyGem:

  • rubocop-packaging

And optionally, if you are building a Rails app:

  • standard-rails (incl. rubocop-rails)
  • betterlint

Project Health 👩‍💻

Gem Name Version Downloads CI Activity
rubocop-lts Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby1_8 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby1_9 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby2_0 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby2_1 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby2_2 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby2_3 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby2_4 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby2_5 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby2_6 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby2_7 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby3_0 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby3_1 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs
rubocop-ruby3_2 Gem Version Total DL DL Rank Current Heads Open Issues Closed Issues Open PRs Closed PRs

Installation ✨

Install the gem and add to the application's Gemfile by executing:

$ bundle add rubocop-lts -r false

NOTE: If you are using Rails remove the -r false, so the Railtie will load and rake tasks will be loaded automatically.

If bundler is not being used to manage dependencies, install the gem by executing:

$ gem install rubocop-lts

Or add this line to your application's Gemfile:

gem "rubocop-lts", "~> 24.0", require: false

And then execute:

$ bundle

Usage with RuboCop

In your .rubocop.yml do the following:

🔥 Delete the following line 🔥

inherit_from: .rubocop_todo.yml

You can probably 🔥 delete 🔥 most of the other lines too. This tool is anti-bike-shedding. You no longer need to worry about the rules!

🔥 Any of the following configs are no longer needed 🔥

require:
  - 'betterlint'
  - 'rubocop-md'
  - 'rubocop-packaging'
  - 'rubocop-performance'
  - 'rubocop-rake'
  - 'rubocop-rspec'
  - 'rubocop-rails'
  - 'rubocop-thread_safety'
  - 'rubocop/gradual/patch'
  - 'standard'
  - 'standard-custom'
  - 'standard-performance'
  - 'standard-rails'
  - 'standard-rubocop-lts'

AllCops:
  NewCops: enable
  DisplayCopNames: true
  TargetRubyVersion: X.X

Then pick one of the following to add!

if Ruby with RSpec

inherit_gem:
  rubocop-lts: rubocop-lts.yml # for the ruby + rspec
  # NOTE: this is the default, and as such, is equivalent to:
  # rubocop-lts: config/ruby_rspec.yml

if just Ruby (without RSpec)

inherit_gem:
  rubocop-lts: config/ruby.yml

if Rails with RSpec

inherit_gem:
  rubocop-lts: config/rails_rspec.yml

if just Rails (without RSpec)

inherit_gem:
  rubocop-lts: config/rails.yml

if rubygem with RSpec

inherit_gem:
  rubocop-lts: config/rubygem_rspec.yml

if just rubygem (without RSpec)

inherit_gem:
  rubocop-lts: config/rubygem.yml

Load Rake Tasks

NOTE: On Rails it is automatic, via Railtie, so you can skip this.

In a non-Rails environment add the following to your Rakefile:

require "rubocop/lts"
Rubocop::Lts.install_tasks

This will load the rubocop_gradual rake task, and alias it as rubocop.

Dependabot Noise Reduction

Add the following to .github/dependabot.yml if you use Github Actions.

    ignore:
      - dependency-name: "rubocop-lts"