RuboCop is a Ruby code style checker (linter) and formatter based on the community-driven Ruby Style Guide.
RuboCop is extremely flexible and most aspects of its behavior can be tweaked via various configuration options. In practice RuboCop supports pretty much every (reasonably popular) coding style that you can think of.
Apart from reporting problems in your code, RuboCop can also automatically fix some of the problems for you.
RuboCop's installation is pretty standard:
$ gem install rubocop
If you'd rather install RuboCop using
bundler, add a line for it in your
Gemfile (but set the
require option to
false, as it is a standalone tool):
gem 'rubocop', require: false
rubocop with no arguments will check all Ruby source files in the current directory:
Alternatively you can specify a list of files and directories to check:
$ rubocop app spec lib/something.rb
You can emulate the behavior of
ruby -wc as well:
$ rubocop -l
You can auto-correct offenses with
$ rubocop -a
You can limit auto-correct to layout/formatting-related offenses with
$ rubocop -x
RuboCop can do way more. Use
-h to view all available command-line options.
RuboCop supports MRI 2.4+ and JRuby 9.2+.