---
detectors:
  Attribute:
    enabled: true
    exclude: []
  BooleanParameter:
    enabled: true
    exclude: []
  ClassVariable:
    enabled: true
    exclude: []
  ControlParameter:
    enabled: true
    exclude: []
  DataClump:
    enabled: true
    exclude: []
    max_copies: 2
    min_clump_size: 2
  DuplicateMethodCall:
    enabled: true
    exclude: []
    max_calls: 1
    allow_calls: []
  FeatureEnvy:
    enabled: true
    exclude: []
  InstanceVariableAssumption:
    enabled: true
    exclude: []
  IrresponsibleModule:
    enabled: false
    exclude: []
  LongParameterList:
    enabled: true
    exclude: []
    max_params: 3
    overrides:
      initialize:
        max_params: 5
  LongYieldList:
    enabled: true
    exclude: []
    max_params: 3
  ManualDispatch:
    enabled: true
    exclude: []
  MissingSafeMethod:
    enabled: true
    exclude: []
  ModuleInitialize:
    enabled: true
    exclude: []
  NestedIterators:
    enabled: true
    exclude: []
    max_allowed_nesting: 1
    ignore_iterators:
    - tap
  NilCheck:
    enabled: true
    exclude: []
  RepeatedConditional:
    enabled: true
    exclude: []
    max_ifs: 2
  SubclassedFromCoreClass:
    enabled: true
    exclude: []
  TooManyConstants:
    enabled: true
    exclude: []
    max_constants: 5
  TooManyInstanceVariables:
    enabled: true
    exclude: []
    max_instance_variables: 4
  TooManyMethods:
    enabled: true
    exclude: []
    max_methods: 15
  TooManyStatements:
    enabled: true
    exclude:
    - initialize
    max_statements: 5
  UncommunicativeMethodName:
    enabled: true
    exclude: []
    reject:
    - "/^[a-z]$/"
    - "/[0-9]$/"
    - "/[A-Z]/"
    accept: []
  UncommunicativeModuleName:
    enabled: true
    exclude: []
    reject:
    - "/^.$/"
    - "/[0-9]$/"
    accept: []
  UncommunicativeParameterName:
    enabled: true
    exclude: []
    reject:
    - "/^.$/"
    - "/[0-9]$/"
    - "/[A-Z]/"
    - "/^_/"
    accept: []
  UncommunicativeVariableName:
    enabled: true
    exclude: []
    reject:
    - "/^.$/"
    - "/[0-9]$/"
    - "/[A-Z]/"
    accept:
    - "/^_$/"
  UnusedParameters:
    enabled: true
    exclude: []
  UnusedPrivateMethod:
    enabled: true
    exclude: []
  UtilityFunction:
    enabled: true
    exclude: []
    public_methods_only: true

### Excluding directories

# Directories and files below will not be scanned at all
exclude_paths:
  - lib/tasks
  - vendor/
  - db/

directories:
  "**/app/concepts/**":
    MissingSafeMethod:
      enabled: false
    UnusedPrivateMethod:
      enabled: false
    UtilityFunction:
      enabled: false
  "**/app/operations/**":
    MissingSafeMethod:
      enabled: false
    UtilityFunction:
      enabled: false
