# some of these settings are overriden in also test/.rubocop.yml

require:
  - rubocop-rails

AllCops:
  NewCops: enable
  Exclude:
    - "bin/*"
    - "node_modules/**/*"

Bundler/OrderedGems:
  Enabled: false

Layout/CaseIndentation:
  EnforcedStyle: end

Layout/EmptyLineAfterGuardClause:
  Enabled: false

Layout/EndAlignment:
  EnforcedStyleAlignWith: variable

Layout/FirstArrayElementIndentation:
  EnforcedStyle: consistent

Layout/FirstHashElementIndentation:
  EnforcedStyle: consistent

Layout/LineLength:
  Enabled: false

Layout/MultilineOperationIndentation:
  EnforcedStyle: indented

Layout/SpaceInsideBlockBraces:
  Enabled: false

Layout/SpaceInsideHashLiteralBraces:
  Enabled: false

Metrics/AbcSize:
  Enabled: false

Metrics/BlockLength:
  Max: 50
  ExcludedMethods:
    - concerning
    - context
    - should

Metrics/BlockNesting:
  CountBlocks: false
  Max: 4

Metrics/ClassLength:
  Max: 500

Metrics/CyclomaticComplexity:
  Enabled: false

Metrics/MethodLength:
  Max: 100

Metrics/ModuleLength:
  Max: 500

Metrics/ParameterLists:
  Max: 4

Metrics/PerceivedComplexity:
  Max: 20

Lint/InheritException:
  EnforcedStyle: standard_error

Naming/MethodParameterName:
  Enabled: false

Rails/HttpStatus:
  EnforcedStyle: numeric

Style/AsciiComments:
  Enabled: false

Style/CommentAnnotation:
  Enabled: false

Style/Documentation:
  Enabled: false

Style/EmptyElse:
  EnforcedStyle: empty

Style/EmptyMethod:
  EnforcedStyle: expanded

Style/FormatStringToken:
  Enabled: false

Style/FloatDivision:
  Enabled: false

Style/FrozenStringLiteralComment:
  Enabled: false

Style/HashSyntax:
  Enabled: false

Style/IfUnlessModifier:
  Enabled: false

Style/MutableConstant:
  Enabled: false

Style/NumericPredicate:
  Enabled: false

Style/PercentLiteralDelimiters:
  PreferredDelimiters:
    "default": "[]"

Style/ParallelAssignment:
  Enabled: false

Style/PerlBackrefs:
  Enabled: false

Style/RegexpLiteral:
  EnforcedStyle: mixed
  AllowInnerSlashes: false

Style/SpecialGlobalVars:
  Enabled: false

Style/StringLiterals:
  Enabled: false

Style/StringLiteralsInInterpolation:
  Enabled: false

Style/SymbolArray:
  MinSize: 10

Style/TernaryParentheses:
  EnforcedStyle: require_parentheses_when_complex

Style/WordArray:
  MinSize: 10
