.rubocop.yml
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