RuboCop Inhouse

This repository provides recommended RuboCop configuration and additional Cops for use on InHouse open source and internal Ruby projects, and is the home of InHouse's Ruby Style Guide.

We set this repository up with inspiration from Github's rubocop config.

Usage

Add rubocop-inhouse to your Gemfile, along with its dependencies:

  gem "rubocop-inhouse", require: false

Inherit all of the stylistic rules and cops through an inheritance declaration in your .rubocop.yml:

  # .rubocop.yml
  inherit_gem:
    rubocop-inhouse:
    - config/default.yml # generic Ruby rules and cops
    - config/rails.yml # Rails-specific rules and cops

Alternatively, only require the additional custom cops in your .rubocop.yml without inheriting/enabling the other stylistic rules:

  # .rubocop.yml
  require:
    - rubocop-inhouse # generic Ruby cops only
    - rubocop-inhouse-rails # Rails-specific cops only

For more granular control over which of RuboCop's rules are enabled for your project, both from this gem and your own configs, consider using the DisabledByDefault: true option under AllCops in your project's .rubocop.yml file. This will disable all cops by default, and you can then explicitly enable the ones you want by setting Enabled: true. See the RuboCop docs for more information.