dgroup/lazylead

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
require:
  - rubocop-minitest
  - rubocop-performance

AllCops:
  NewCops: enable
  DisplayCopNames: true
  DisplayStyleGuide: true
  TargetRubyVersion: 2.6
  Exclude:
    - "tmp/**/*"
    - "vendor/**/*"

Layout/LineLength:
  Exclude:
    - "*.gemspec"
    - "test/**/*"
    - "bin/lazylead"

Metrics/AbcSize:
  Max: 21
  Exclude:
    - "test/**/*"

Metrics/CyclomaticComplexity:
  Max: 8

Metrics/BlockLength:
  Exclude:
    - "*.gemspec"
    - "Rakefile"
    - "bin/lazylead"
    - "test/**/*"

Metrics/ClassLength:
  Exclude:
    - "test/**/*"

Metrics/MethodLength:
  Max: 15
  Exclude:
    - "test/**/*"

Metrics/ParameterLists:
  Max: 4

Layout/HashAlignment:
  EnforcedColonStyle:
    - table
    - key
  EnforcedHashRocketStyle:
    - table
    - key

Layout/EmptyLineAfterGuardClause:
  Enabled: false

Layout/EndOfLine:
  EnforcedStyle: lf

Layout/SpaceAroundMethodCallOperator:
  Enabled: true

Style/HashSyntax:
  EnforcedStyle: ruby19

Style/StringLiterals:
  EnforcedStyle: double_quotes

Style/TrivialAccessors:
  AllowPredicates: true

Style/ExponentialNotation:
  Enabled: true

Style/HashEachMethods:
  Enabled: true

Style/HashTransformKeys:
  Enabled: true

Style/HashTransformValues:
  Enabled: true

# @todo #/DEV accuracy.rb is using % symbol in text message and rubocop
#  complains about it. It's false-positive violation, thus, for now ignored for this file
Style/FormatStringToken:
  Exclude:
    - "lib/lazylead/task/accuracy/accuracy.rb"
Style/IfWithBooleanLiteralBranches: # (new in 1.9)
  Enabled: true
#  @todo #/DEV Enable Style/OpenStructUse rule, for now its disabled due to rubocop upgrade
Style/OpenStructUse:
  Enabled: false
Lint/RaiseException:
  Enabled: true
Lint/StructNewOverride:
  Enabled: true
Lint/NumberedParameterAssignment: # (new in 1.9)
  Enabled: true
Lint/OrAssignmentToConstant: # (new in 1.9)
  Enabled: true
Lint/SymbolConversion: # (new in 1.9)
  Enabled: true
Lint/TripleQuotes: # (new in 1.9)
  Enabled: true

# @todo #/DEV Add violation regarding methods without documentation using RDoc
#  https://stackoverflow.com/questions/1681467/how-to-document-ruby-code

Layout/SpaceBeforeBrackets: # (new in 1.7)
  Enabled: true
Lint/AmbiguousAssignment: # (new in 1.7)
  Enabled: true
Lint/DeprecatedConstants: # (new in 1.8)
  Enabled: true
Lint/DuplicateBranch: # (new in 1.3)
  Enabled: true
Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
  Enabled: true
Lint/EmptyBlock: # (new in 1.1)
  Enabled: true
Lint/EmptyClass: # (new in 1.3)
  Enabled: true
Lint/LambdaWithoutLiteralBlock: # (new in 1.8)
  Enabled: true
Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
  Enabled: true
Lint/RedundantDirGlobSort: # (new in 1.8)
  Enabled: true
Lint/ToEnumArguments: # (new in 1.1)
  Enabled: true
Lint/UnexpectedBlockArity: # (new in 1.5)
  Enabled: true
Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
  Enabled: true
Style/ArgumentsForwarding: # (new in 1.1)
  Enabled: true
Style/CollectionCompact: # (new in 1.2)
  Enabled: true
Style/DocumentDynamicEvalDefinition: # (new in 1.1)
  Enabled: true
Style/EndlessMethod: # (new in 1.8)
  Enabled: true
Style/HashExcept: # (new in 1.7)
  Enabled: true
Style/NegatedIfElseCondition: # (new in 1.2)
  Enabled: true
Style/NilLambda: # (new in 1.3)
  Enabled: true
Style/RedundantArgument: # (new in 1.4)
  Enabled: true
Style/SwapValues: # (new in 1.1)
  Enabled: true
Style/HashConversion: # (new in 1.10)
  Enabled: true
Style/RedundantStringEscape: # (new in 1.7)
  Enabled: true
  Exclude:
    - "test/lazylead/task/svn/grep_test.rb"
Minitest/AssertInDelta: # (new in 0.10)
  Enabled: true
Minitest/AssertionInLifecycleHook: # (new in 0.10)
  Enabled: true
Minitest/AssertKindOf: # (new in 0.10)
  Enabled: true
Minitest/AssertOutput: # (new in 0.10)
  Enabled: true
Minitest/AssertPathExists: # (new in 0.10)
  Enabled: true
Minitest/AssertSilent: # (new in 0.10)
  Enabled: true
Minitest/LiteralAsActualArgument: # (new in 0.10)
  Enabled: true
Minitest/MultipleAssertions: # (new in 0.10)
  Enabled: true
Minitest/RefuteInDelta: # (new in 0.10)
  Enabled: true
Minitest/RefuteKindOf: # (new in 0.10)
  Enabled: true
Minitest/RefutePathExists: # (new in 0.10)
  Enabled: true
Minitest/TestMethodName: # (new in 0.10)
  Enabled: true
Minitest/TestFileName:
  Enabled: true
  Exclude:
    - "test/test.rb"
Minitest/UnspecifiedException: # (new in 0.10)
  Enabled: true
Performance/AncestorsInclude: # (new in 1.7)
  Enabled: true
Performance/BigDecimalWithNumericArgument: # (new in 1.7)
  Enabled: true
Performance/BlockGivenWithExplicitBlock: # (new in 1.9)
  Enabled: true
Performance/CollectionLiteralInLoop: # (new in 1.8)
  Enabled: true
Performance/ConstantRegexp: # (new in 1.9)
  Enabled: true
Performance/MethodObjectAsBlock: # (new in 1.9)
  Enabled: true
Performance/RedundantSortBlock: # (new in 1.7)
  Enabled: true
Performance/RedundantStringChars: # (new in 1.7)
  Enabled: true
Performance/ReverseFirst: # (new in 1.7)
  Enabled: true
Performance/SortReverse: # (new in 1.7)
  Enabled: true
Performance/Squeeze: # (new in 1.7)
  Enabled: true
Performance/StringInclude: # (new in 1.7)
  Enabled: true
Performance/Sum: # (new in 1.8)
  Enabled: true
Performance/RedundantEqualityComparisonBlock: # (new in 1.10)
  Enabled: true
Performance/RedundantSplitRegexpArgument: # (new in 1.10)
  Enabled: true
Gemspec/DeprecatedAttributeAssignment: # (new in 1.10)
  Enabled: true
Gemspec/RequireMFA:
  Enabled: false