AllCops:
  EnabledByDefault: true

Style/AndOr:
  Enabled: false

Style/ClassAndModuleChildren:
  Enabled: false

Style/AsciiComments:
  Enabled: false

Style/SymbolArray:
  Enabled: false

Style/WordArray:
  Enabled: false

Style/MixinGrouping:
  Enabled: false

Style/RescueStandardError:
  Enabled: false

Style/MethodCallWithArgsParentheses:
  Enabled: false

Style/DocumentationMethod:
  Enabled: false

Style/CollectionMethods:
  PreferredMethods:
    detect: "detect"
    find: "detect"
    inject: "inject"
    reduce: "inject"

Style/Documentation:
  Enabled: false

Style/DoubleNegation:
  Enabled: false

Lint/ConstantResolution:
  Enabled: false

Layout/DotPosition:
  EnforcedStyle: trailing


Layout/EmptyLineAfterGuardClause:
   Enabled: false

Style/EmptyElse:
  EnforcedStyle: empty

Layout/ExtraSpacing:
  Exclude:
    - "db/migrate/*.rb"
    - "*.gemspec"

Style/FormatString:
  EnforcedStyle: percent

Style/MissingElse:
  Enabled: false

Style/StringHashKeys:
  Exclude:
    - "spec/queries/*.rb"
    - "*.gemspec"

Style/GuardClause:
  MinBodyLength: 5

Style/HashSyntax:
  EnforcedStyle: ruby19
  Exclude:
    - "**/*.rake"
    - "Rakefile"

Style/IfUnlessModifier:
  Enabled: false

Style/PreferredHashMethods:
  EnforcedStyle: short

Style/Lambda:
  Enabled: false

Style/NumericLiterals:
  MinDigits: 7

Style/PerlBackrefs:
  AutoCorrect: false

Style/RedundantSelf:
  Enabled: false

Style/FrozenStringLiteralComment:
  Enabled: false

Style/RedundantReturn:
  AllowMultipleReturnValues: true

Style/Semicolon:
  Exclude:
    - "spec/**/*"

Style/SignalException:
  EnforcedStyle: only_raise

Style/MethodDefParentheses:
  Enabled: false

Style/StringLiterals:
  EnforcedStyle: double_quotes

Style/StringLiteralsInInterpolation:
  Enabled: false

Style/SingleLineBlockParams:
  Enabled: false

Lint/UnderscorePrefixedVariableName:
  Enabled: false

Lint/UnusedMethodArgument:
  Enabled: false


Metrics/AbcSize:
  Enabled: false

Metrics/CyclomaticComplexity:
  Max: 30

Metrics/PerceivedComplexity:
  Enabled: false

Metrics/BlockLength:
  Enabled: false

Layout/LineLength:
  Enabled: false
  

Metrics/MethodLength:
  Enabled: false

Metrics/ClassLength:
  Enabled: false

Naming/HeredocDelimiterNaming:
   Enabled: false

Naming/AccessorMethodName:
  Enabled: false

Metrics/ModuleLength:
  Enabled: false

Lint/UnusedBlockArgument:
  Enabled: false

Lint/RescueException:
  Enabled: false

Naming/RescuedExceptionsVariableName:
  Enabled: false

Bundler/GemComment:
  Enabled: false

Style/SafeNavigation:
  Enabled: false

Lint/NumberConversion:
  Enabled: false
Style/ConstantVisibility:
  Enabled: false
Style/MutableConstant:
  Enabled: false
Style/Copyright:
  Enabled: false
Style/MultilineTernaryOperator:
  Enabled: false
Layout/MultilineAssignmentLayout:
  Enabled: false
Style/Send:
  Enabled: false
Style/RedundantFileExtensionInRequire:
  Enabled: false
Style/ClassMethodsDefinitions:
  Enabled: false
Style/GlobalStdStream:
  Enabled: false
Layout/IndentationConsistency:
  Enabled: false
Layout/IndentationWidth:
  Enabled: false
Style/DateTime:
  Enabled: false
Layout/HeredocIndentation:
  Exclude: 
    - "lib/souls/init.rb"
Style/RaiseArgs:
  Enabled: false
Metrics/BlockNesting:
  Enable: false