require:
  - rubocop-rspec

AllCops:
  Exclude:
    - 'tmp/**/*'

# Dot at end of line makes it clearer that the line is not done
Layout/DotPosition:
  EnforcedStyle: trailing

# Multi-line assignment should be simply indented. Aligning them makes it even
# harder to keep a sane line length.
Layout/MultilineOperationIndentation:
  EnforcedStyle: indented

# Multi-line method calls should be simply indented. Aligning them makes it
# even harder to keep a sane line length.
Layout/MultilineMethodCallIndentation:
  EnforcedStyle: indented

# Allow if (foo = get_foo) style
Lint/AssignmentInCondition:
  AllowSafeAssignment: true

# Spec describe blocks can be any size
Metrics/BlockLength:
  Exclude:
    - 'spec/**/*'

# Require lines to fit in pull requests.
Metrics/LineLength:
  Max: 92

# Allow deeper nesting for spec organization
RSpec/NestedGroups:
  Max: 4

# Allow and/or for control flow only
Style/AndOr:
  EnforcedStyle: conditionals

# Require at least two dependent lines before suggesting a guard clause
Style/GuardClause:
  MinBodyLength: 2

# Don't use if or unless as modifier if the line gets too long
Style/IfUnlessModifier:
  MaxLineLength: 60

# Explicite numbers are often clearer, and more robust.
Style/NumericPredicate:
  Enabled: false

# Allow explicit return with multiple return values
Style/RedundantReturn:
  AllowMultipleReturnValues: true

# I prefer to have symbols look like symbols
Style/SymbolArray:
  EnforcedStyle: brackets

require:
  - rubocop-rspec

AllCops:
  Exclude:
    - 'tmp/**/*'

# Dot at end of line makes it clearer that the line is not done
Layout/DotPosition:
  EnforcedStyle: trailing

# Multi-line assignment should be simply indented. Aligning them makes it even
# harder to keep a sane line length.
Layout/MultilineOperationIndentation:
  EnforcedStyle: indented

# Multi-line method calls should be simply indented. Aligning them makes it
# even harder to keep a sane line length.
Layout/MultilineMethodCallIndentation:
  EnforcedStyle: indented

# Allow if (foo = get_foo) style
Lint/AssignmentInCondition:
  AllowSafeAssignment: true

# Spec describe blocks can be any size
Metrics/BlockLength:
  Exclude:
    - 'spec/**/*'

# Require lines to fit in pull requests.
Metrics/LineLength:
  Max: 92

# Allow deeper nesting for spec organization
RSpec/NestedGroups:
  Max: 4

# Allow and/or for control flow only
Style/AndOr:
  EnforcedStyle: conditionals

# Require at least two dependent lines before suggesting a guard clause
Style/GuardClause:
  MinBodyLength: 2

# Explicite numbers are often clearer, and more robust.
Style/NumericPredicate:
  Enabled: false

# Allow explicit return with multiple return values
Style/RedundantReturn:
  AllowMultipleReturnValues: true

# I prefer to have symbols look like symbols
Style/SymbolArray:
  EnforcedStyle: brackets

Update RuboCop configution for 0.52.0
Update RuboCop configution for 0.52.0
