AllCops:
  TargetRubyVersion: 2.3
  Exclude:
    - 'bin/**/*'
    - 'db/**/*'
    - 'config/**/*'
    - 'spec/**/*'

Documentation:
  Enabled: false

Rails:
  Enabled: true

# There is a bug in the Rubocop 0.48 parser that causes it to incorrectly
# complain about parenthese around blocks used with scopes. This should be
# removed once it is possible to upgrade to 0.49 or above.
Lint/AmbiguousBlockAssociation:
  Enabled: false

Style/FrozenStringLiteralComment:
  Enabled: false

AllCops:
  TargetRubyVersion: 2.3
  Exclude:
    - 'bin/**/*'
    - 'db/**/*'
    - 'config/**/*'
    - 'spec/**/*'

Documentation:
  Enabled: false

Rails:
  Enabled: true

# There is a bug in the Rubocop 0.48 parser that causes it to incorrectly
# complain about parenthese around blocks used with scopes. This should be
# removed once it is possible to upgrade to 0.49 or above.
Lint/AmbiguousBlockAssociation:
  Enabled: false

Style/FrozenStringLiteralComment:
  Enabled: false

# Rubocop should be used for style guide adherence, not testing for code smell
Rails/OutputSafety:
  Enabled: false
Rails/SkipsModelValidations:
  Enabled: false

Disable cops that relate to code smell
Disable cops that relate to code smell

For all its strengths, Rubocop isn't a great tool for checking for code smell.
When a developer is given an error like "Avoid using update_all because it skips
validations" in a situation where they have made a conscious and informed
decision, they are left in the unfortunate position of choosing between ignoring
the error and littering the code with "rubocop:disable" comments.

If code smell detection is desired, it would be better to implement a tool
designed for this function (e.g. reek) and then enforcing that Rubocop is the
law whereas code smell advice can be taken or ignored.
