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 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 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/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/DateAssignment: # (new in 1.10) Enabled: true