inherit_from: .rubocop_todo.yml

Style/Documentation:
  Enabled: false

Style/NonNilCheck:
  IncludeSemanticChanges: true

Style/RedundantInitialize:
  Enabled: false

Style/EmptyMethod:
  Enabled: false

Style/ClassAndModuleChildren:
  Enabled: false

Layout/LineLength:
  Max: 120

Metrics/BlockLength:
  Exclude:
    - 'lib/cancan/matchers.rb'
    - '**/*_spec.rb'

Metrics/ClassLength:
  Exclude:
    - 'lib/cancan/model_adapters/active_record_adapter.rb'

# TODO
# Offense count: 2
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
# NamePrefix: is_, has_, have_
# NamePrefixBlacklist: is_, has_, have_
# NameWhitelist: is_a?
Naming/PredicateName:
  Exclude:
    - 'spec/**/*'
    - 'lib/cancan/ability.rb'

# TODO
Lint/AmbiguousBlockAssociation:
  Enabled: false

AllCops:
  NewCops: enable
  SuggestExtensions: false
  TargetRubyVersion: 3.0
  Exclude:
    - 'gemfiles/**/*'
    - 'vendor/**/*'
    - 'Appraisals'
    - 'node_modules/**/*'
