AllCops:
  Includes:
    - 'Gemfile'
    - 'Rakefile'
    - 'naught.gemspec'

# Avoid long parameter lists
ParameterLists:
  Max: 4
  CountKeywordArgs: true

ClassLength:
  Max: 144 # TODO: Lower to 100

MethodLength:
  CountComments: false
  Max: 21  # TODO: Lower to 15

# Avoid more than `Max` levels of nesting.
BlockNesting:
  Max: 2

# Align with the style guide.
CollectionMethods:
  PreferredMethods:
    map:      'collect'
    reduce:   'inject'
    find:     'detect'
    find_all: 'select'

# Limit line length
LineLength:
  Enabled: false

# Disable documentation checking until a class needs to be documented once
Documentation:
  Enabled: false

# Enforce Ruby 1.8-compatible hash syntax
HashSyntax:
  EnforcedStyle: hash_rockets

# No spaces inside hash literals
SpaceInsideHashLiteralBraces:
  EnforcedStyle: no_space

# Allow dots at the end of lines
DotPosition:
  Enabled: false

# Don't require magic comment at the top of every file
Encoding:
  Enabled: false

EmptyLinesAroundAccessModifier:
  Enabled: true

# Align ends correctly
EndAlignment:
  AlignWith: variable

# Indentation of when/else
CaseIndentation:
  IndentWhenRelativeTo: end
  IndentOneStep: false

Lambda:
  Enabled: false

MethodName:
  Enabled: false

ClassVars:
  Enabled: false
