Skip to content
Branch: master
Find file History
Latest commit f426877 Jan 10, 2019

README.md

RuboCop Airbnb

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.

Installation

Just put this in your Gemfile it depends on the appropriate version of rubocop and rubocop-rspec.

gem 'rubocop-airbnb'

Usage

You need to tell RuboCop to load the Airbnb extension. There are three ways to do this:

RuboCop configuration file

First Create a new file .rubocop_airbnb.yml in the same directory as your .rubocop.yml this file should contain

require:
  - 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.

Command line

rubocop --require rubocop-airbnb

The Cops

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
You can’t perform that action at this time.