RuboCop: Line is too long ← How to Ignore?

I just added RuboCop to a rails project and installed the Sublime package to see RuboCop suggestions in the editor. I'm trying to figure out how to change the maximum line length from 80 characters, or just ignore the rule completely.

Currently in use:

  • RuboCop (gem)
  • Sublime RuboCop
  • SublimeLinter-rubocop

Solution 1:

In your code, you can disable a bunch of lines like this:

# rubocop:disable Layout/LineLength
puts "This line is lonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnng"
# rubocop:enable Layout/LineLength

Or add this to your .rubocop.yml file to increase the max length:

Layout/LineLength:
  Max: 100

Solution 2:

Creating a .rubocop.yml file (keep an eye on the initial . in the filename) in the root of your project, you'll have a bunch of options (check comments for what's your Rubocop version used as the way to handle LineLength has changed):

Metrics/LineLength: # for Rubocop < 0.78.0
Layout/LineLength: # for Rubocop >= 0.78.0
  # This will disable the rule completely, regardless what other options you put
  Enabled: false
  # Change the default 80 chars limit value
  Max: 120
  # If you want the rule only apply to a specific folder/file
  Include:
    - 'app/**/*'
  # If you want the rule not to apply to a specific folder/file
  Exclude:
    - 'db/schema.rb'

Solution 3:

With latest changes at rubocop gem version 0.78.0 at 18-12-2019, from now on LineLength cop move from Metrics department to Layout department. So basically if any one need to disable long lines with using version number higher than 0.78.0 should do it like this.

# rubocop:disable Layout/LineLength
  "I'm a really long line"
# rubocop:enable Layout/LineLength

Also .rubocop.yml configuration is changed to this.

Layout/LineLength:
  Max: 100

For reaching rubocop change logs, click here