# TODO: Remove the following once the rules in the file is addressed
inherit_from:
  - .rubocop_todo.yml
# end TODO

AllCops:
  RunRailsCops: true # automatically run rails cops
  Exclude:
    - db/migrate/20131014135042_katello_tables.rb
    - engines/bastion_katello/node_modules/**/*
    - engines/bastion_katello/vendor/assets/dev-components/**/*
  Include:
    - app/views/**/*.rabl

MethodLength:
  Description: 'Avoid methods longer than 30 lines of code.'
  Max: 30 # default is 10

SpaceInsideHashLiteralBraces:
  EnforcedStyleIsWithSpaces: false

HashSyntax:
  Enabled: false # don't force 1.9 hash syntax

SpaceInsideHashLiteralBraces:
  Enabled: false # allow spaces (eg { :a => 1 })

LeadingCommentSpace:
  Enabled: false

IfUnlessModifier:
  Enabled: false

RescueModifier:
  Enabled: false

AssignmentInCondition:
  Enabled: false

WhileUntilModifier:
  Enabled: false

AlignParameters:
  Enabled: false # don't care if parameters are not aligned

AlignHash:
  EnforcedLastArgumentHashStyle: ignore_implicit # ignore argument hashes

ParenthesesAroundCondition:
  Enabled: false

DotPosition:
  Enabled: false

Lambda:
  Enabled: false # don't require -> for single line lambdas

RedundantSelf:
  Enabled: false

RedundantReturn:
  Enabled: false

SpaceInsideHashLiteralBraces:
  Enabled: false # we allow spaces inside hash brackets

Documentation:
  Enabled: false # don't require documentation

Encoding:
  Enabled: false # don't require utf-8 encoding on every file

MethodCalledOnDoEndBlock:
  Enabled: true

SingleLineBlockParams:
  Enabled: false

Style/Next:
  Enabled: false # don't enforce next in loops over if/unless

Rails/ActionFilter:
  Enabled: false # Rails 4.0 check

FormatString:
  Enabled: false # we use % for i18n

Style/GuardClause:
  Enabled: false # don't enforce this

Style/StringLiterals:
  Enabled: false # dont't enforce

Style/WordArray:
  Enabled: false # don't force usage of %w()

Style/FileName:
  Exclude: ['script/**'] # scripts are hyphened case

Rails/ScopeArgs:
  Enabled: false # don't force usage of lambdas for scopes

Style/EachWithObject:
  Enabled: false # people can use inject

Style/SymbolProc:
  Enabled: false # don't force usage of symbol procs