inherit_from: .rubocop_rspec_base.yml

AllCops:
  Exclude:
    # This code was taken from the backports gem. We don't want to mess with it.
    - lib/rspec/core/backport_random.rb

# This should go down over time.
Metrics/ClassLength:
  Max: 330

Encoding:
  EnforcedStyle: when_needed
  Exclude:
    - lib/rspec/core/formatters/exception_presenter.rb

# This should go down over time.
Metrics/AbcSize:
  Max: 40

# This should go down over time.
Metrics/LineLength:
  Max: 130

# This should go down over time.
Metrics/MethodLength:
  Max: 37

# This should go down over time.
Metrics/CyclomaticComplexity:
  Max: 12

Metrics/PerceivedComplexity:
  Max: 15

Lint/HandleExceptions:
  Exclude:
    - lib/rspec/core/example.rb
    - lib/rspec/core/mocking_adapters/mocha.rb
    - lib/rspec/core/runner.rb
    - lib/rspec/core/test_unit_assertions_adapter.rb

Lint/LiteralInInterpolation:
  Enabled: false

Lint/NonLocalExitFromIterator:
  Enabled: false

# We don't care about single vs double qoutes.
Style/StringLiteralsInInterpolation:
  Enabled: false

Style/SymbolProc:
  Enabled: false

Style/SpaceAroundOperators:
  MultiSpaceAllowedForOperators:
      - '='
      - '||='
      - '==='
      - '=>'
      - '<<'
      - '||'

Style/AccessModifierIndentation:
  Enabled: false

Style/RegexpLiteral:
  Enabled: false

# This could change depending of the style used
Style/MultilineOperationIndentation:
  Enabled: false

Style/BarePercentLiterals:
  Enabled: false

# Exclude the default spec_helper to make it easier to uncomment out
# default settings (for both users and the Cucumber suite).
Style/BlockComments:
  Exclude:
    - lib/rspec/core/project_initializer/spec/spec_helper.rb

# Not sure what to do with this rule yet.
Style/ClassAndModuleChildren:
  Exclude:
    - lib/rspec/core/formatters.rb
    - lib/rspec/core/notifications.rb
    - lib/rspec/core/option_parser.rb
    - lib/rspec/core/reporter.rb

Style/RaiseArgs:
  Exclude:
    - lib/rspec/core/configuration.rb
    - lib/rspec/core/hooks.rb
    - lib/rspec/core/option_parser.rb
    - lib/rspec/core/pending.rb
