Airbnb specific analysis for RuboCop.
It contains Airbnb's internally used configuration for RuboCop and RuboCop RSpec. It also includes a handful custom rules that are not currently addressed by other projects.
Just put this in your Gemfile
it depends on the appropriate version of rubocop and rubocop-rspec.
gem 'rubocop-airbnb'
Note: If you want to run with Ruby 2.2 you will need to set your version to 2
gem 'rubocop-airbnb', '~> 2'
You need to tell RuboCop to load the Airbnb extension. There are three ways to do this:
First Create a new file .rubocop_airbnb.yml
in the same directory as your .rubocop.yml
this file should contain
plugins:
- rubocop-airbnb
Next add the following to .rubocop.yml
or add before .rubocop_todo.yml
in your existing inherit_from
inherit_from:
- .rubocop_airbnb.yml
- .rubocop_todo.yml
You need to inherit .rubocop_airbnb.yml
from another file because of Rubocop order of operations.
It runs inherit_from
before require
commands. If the configuration is not in a separate file
you could potentially experience a bunch of warnings from .rubocop_todo.yml
for non-existant
Airbnb
rules.
Now you can run rubocop
and it will automatically load the RuboCop Airbnb
cops together with the standard cops.
Note
The plugin system is supported in RuboCop 1.72+. In earlier versions, use require
instead of plugins
.
rubocop --plugin rubocop-airbnb
All cops are located under
lib/rubocop/cop/airbnb
, and contain
examples/documentation.
In your .rubocop.yml
, you may treat the Airbnb cops just like any other
cop. For example:
Airbnb/PhraseBundleKeys:
Exclude:
- spec/my_poorly_named_spec_file.rb