Metrics/BlockNesting:
  Max: 2

Metrics/ClassLength:
  CountComments: false
  Max: 120

Metrics/PerceivedComplexity:
  Max: 8

Metrics/CyclomaticComplexity:
  Max: 8 # TODO: Lower to 6

Metrics/LineLength:
  AllowURI: true
  Max: 143 # TODO: Lower to 80

Metrics/MethodLength:
  CountComments: false
  Max: 22 # TODO: Lower to 15

Metrics/ModuleLength:
  CountComments: false
  Max: 120

Metrics/ParameterLists:
  Max: 3
  CountKeywordArgs: true

Metrics/AbcSize:
  Enabled: false

Style/CollectionMethods:
  PreferredMethods:
    collect:  'map'
    reduce:   'inject'
    find:     'detect'
    find_all: 'select'

Style/Documentation:
  Enabled: false

Style/DotPosition:
  EnforcedStyle: trailing

Style/DoubleNegation:
  Enabled: false

Style/EachWithObject:
  Enabled: false

Style/Encoding:
  Enabled: false

Style/HashSyntax:
  EnforcedStyle: hash_rockets

Style/Lambda:
  Enabled: false

Style/SingleSpaceBeforeFirstArg:
  Enabled: false

Style/SpaceAroundOperators:
  MultiSpaceAllowedForOperators:
    - "="
    - "=>"
    - "||"
    - "||="
    - "&&"
    - "&&="

Style/SpaceInsideHashLiteralBraces:
  EnforcedStyle: no_space

Style/StringLiterals:
  EnforcedStyle: double_quotes

Style/TrivialAccessors:
  Enabled: false
