inherit_from:
  - ../.rubocop_rspec.yml
  - .rubocop_todo.yml

# make rspec formatting more flexible
Layout/MultilineMethodCallIndentation:
  Exclude:
    - "**/*_spec.rb"

# `formula do` uses nested method definitions
Lint/NestedMethodDefinition:
  Exclude:
    - "test/**/*"

# TODO: Try to bring down all metrics maximums.
Metrics/AbcSize:
  Max: 280
Metrics/BlockLength:
  Max: 100
  Exclude:
    # TODO: extract more of the bottling logic
    - "dev-cmd/bottle.rb"
    - "test/**/*"
Metrics/BlockNesting:
  Max: 5
Metrics/ClassLength:
  Max: 800
  Exclude:
    - "formula.rb"
    - "formula_installer.rb"
Metrics/CyclomaticComplexity:
  Max: 80
Metrics/PerceivedComplexity:
  Max: 90
Metrics/MethodLength:
  Max: 260
Metrics/ModuleLength:
  Max: 500
  Exclude:
    # TODO: extract more of the bottling logic
    - "dev-cmd/bottle.rb"
    - "test/**/*"

Naming/PredicateName:
  # Can't rename these.
  AllowedMethods:
    - is_a?
    - is_32_bit?
    - is_64_bit?

Style/HashAsLastArrayItem:
  Exclude:
    - "test/utils/spdx_spec.rb"

Style/BlockDelimiters:
  BracesRequiredMethods:
    - "sig"

Bundler/GemFilename:
  Exclude:
    - "utils/gems.rb"
