config/chefstyle.yml in chefstyle-0.1.0 vs config/chefstyle.yml in chefstyle-0.3.0
- old
+ new
@@ -1,354 +1,709 @@
\ No newline at end of file
+
+#
+# Lint
+#
+
+Lint/AmbiguousOperator:
+ Enabled: true
+Lint/BlockAlignment:
+ Enabled: true
+Lint/CircularArgumentReference:
+ Enabled: true
+Lint/ConditionPosition:
+ Enabled: true
+Lint/Debugger:
+ Enabled: true
+Lint/DefEndAlignment:
+ Enabled: true
+Lint/DuplicateMethods:
+ Enabled: true
+Lint/DuplicatedKey:
+ Enabled: true
+Lint/EachWithObjectArgument:
+ Enabled: true
+Lint/ElseLayout:
+ Enabled: true
+Lint/EmptyEnsure:
+ Enabled: true
+Lint/EmptyInterpolation:
+ Enabled: true
+Lint/EndAlignment:
+ Enabled: true
+Lint/EndInMethod:
+ Enabled: true
+Lint/EnsureReturn:
+ Enabled: true
+Lint/FormatParameterMismatch:
+ Enabled: true
+Lint/InvalidCharacterLiteral:
+ Enabled: true
+Lint/LiteralInCondition:
+ Enabled: true
+Lint/LiteralInInterpolation:
+ Enabled: true
+Lint/Loop:
+ Enabled: true
+Lint/NonLocalExitFromIterator:
+ Enabled: true
+Lint/RequireParentheses:
+ Enabled: true
+Lint/StringConversionInInterpolation:
+ Enabled: true
+Lint/UnneededDisable:
+ Enabled: true
+Lint/UnreachableCode:
+ Enabled: true
+Lint/UselessComparison:
+ Enabled: true
+Lint/UselessElseWithoutRescue:
+ Enabled: true
+Lint/UselessSetterCall:
+ Enabled: true
+
+#
+# Disabled Lint
+#
+
+# These are disabled per https://github.com/chef/chef/pull/3038
+Lint/UnusedBlockArgument:
+ Enabled: false
+Lint/UnusedMethodArgument:
+ Enabled: false
+
+# We ignore Exceptions a lot
+Lint/HandleExceptions:
+ Enabled: false
+# We also decorate Exceptions a lot
+Lint/RescueException:
+ Enabled: false
+
+#
+# Performance
+#
+
+Performance/CaseWhenSplat:
+ Enabled: true
+Performance/FixedSize:
+ Enabled: true
+Performance/FlatMap:
+ Enabled: true
+Performance/ReverseEach:
+ Enabled: true
+Performance/Sample:
+ Enabled: true
+Performance/Size:
+ Enabled: true
+
+#
+# Rails
+#
+
+Rails/ActionFilter:
+ Enabled: true
+Rails/Date:
+ Enabled: true
+Rails/DefaultScope:
+ Enabled: true
+Rails/Delegate:
+ Enabled: true
+Rails/FindBy:
+ Enabled: true
+Rails/FindEach:
+ Enabled: true
+Rails/HasAndBelongsToMany:
+ Enabled: true
+Rails/Output:
+ Enabled: true
+Rails/PluralizationGrammar:
+ Enabled: true
+Rails/ReadWriteAttribute:
+ Enabled: true
+Rails/ScopeArgs:
+ Enabled: true
+Rails/TimeZone:
+ Enabled: true
+Rails/Validation:
+ Enabled: true
+
+#
+# Metrics
+#
+
+# Metrics cops are all disabled, there would be too much refactoring
+# work to do and we have much higher priorities.
+Metrics/AbcSize:
+ Enabled: false
+Metrics/BlockNesting:
+ Enabled: false
+Metrics/ClassLength:
+ Enabled: false
+Metrics/CyclomaticComplexity:
+ Enabled: false
+Metrics/LineLength:
+ Enabled: false
+Metrics/MethodLength:
+ Enabled: false
+Metrics/ModuleLength:
+ Enabled: false
+Metrics/ParameterLists:
+ Enabled: false
+Metrics/PerceivedComplexity:
+ Enabled: false
+
+
+#
+# Style
+#
+
+Style/AlignHash:
+ Enabled: true
+Style/ArrayJoin:
+ Enabled: true
+Style/AsciiIdentifiers:
+ Enabled: true
+Style/Attr:
+ Enabled: true
+Style/BeginBlock:
+ Enabled: true
+Style/CharacterLiteral:
+ Enabled: true
+Style/ClassMethods:
+ Enabled: true
+Style/ColonMethodCall:
+ Enabled: true
+Style/CommandLiteral:
+ Enabled: true
+Style/ElseAlignment:
+ Enabled: true
+Style/EmptyLineBetweenDefs:
+ Enabled: true
+Style/EmptyLines:
+ Enabled: true
+Style/EmptyLinesAroundAccessModifier:
+ Enabled: true
+Style/EmptyLinesAroundMethodBody:
+ Enabled: true
+Style/EndBlock:
+ Enabled: true
+Style/EndOfLine:
+ Enabled: true
+Style/EvenOdd:
+ Enabled: true
+Style/ExtraSpacing:
+ Enabled: true
+Style/FlipFlop:
+ Enabled: true
+Style/For:
+ Enabled: true
+Style/IfWithSemicolon:
+ Enabled: true
+Style/IndentationConsistency:
+ Enabled: true
+Style/IndentationWidth:
+ Enabled: true
+Style/InfiniteLoop:
+ Enabled: true
+Style/InitialIndentation:
+ Enabled: true
+Style/LambdaCall:
+ Enabled: true
+Style/MethodDefParentheses:
+ Enabled: true
+Style/MultilineOperationIndentation:
+ Enabled: true
+ EnforcedStyle: indented
+Style/NegatedWhile:
+ Enabled: true
+Style/NestedModifier:
+ Enabled: true
+Style/NestedTernaryOperator:
+ Enabled: true
+Style/OneLineConditional:
+ Enabled: true
+Style/ParenthesesAroundCondition:
+ Enabled: true
+# - The chef source code predominantly uses {} for %,%i,%q,%Q,%r,%w,%W
+# - The old 1.9 pickaxe book predominantly uses {} for %,%q,%Q,%r,%w,%W,%x
+# - The chef source code does not use %x enough to determine a preference
+# - The old 1.9 pickaxe book does not use %i
+# - %s is not used in chef code or the pickaxe book, and is %s{} for consistency
+Style/PercentLiteralDelimiters:
+ Enabled: true
+ PreferredDelimiters:
+ '%': '{}'
+ '%i': '{}'
+ '%q': '{}'
+ '%Q': '{}'
+ '%r': '{}'
+ '%s': '{}'
+ '%w': '{}'
+ '%W': '{}'
+ '%x': '{}'
+Style/PercentQLiterals:
+ Enabled: true
+Style/RedundantFreeze:
+ Enabled: true
+Style/RescueEnsureAlignment:
+ Enabled: true
+# we only 'raise' and do not 'fail'
+Style/SignalException:
+ EnforcedStyle: only_raise
+ Enabled: true
+Style/SpaceAfterColon:
+ Enabled: true
+Style/SpaceAfterComma:
+ Enabled: true
+Style/SpaceAfterMethodName:
+ Enabled: true
+Style/SpaceAroundBlockParameters:
+ Enabled: true
+Style/SpaceAroundEqualsInParameterDefault:
+ Enabled: true
+Style/SpaceAroundOperators:
+ Enabled: true
+Style/SpaceBeforeBlockBraces:
+ Enabled: true
+Style/SpaceBeforeFirstArg:
+ Enabled: true
+Style/SpaceBeforeModifierKeyword:
+ Enabled: true
+Style/SpaceInsideBlockBraces:
+ Enabled: true
+Style/SpaceInsideHashLiteralBraces:
+ Enabled: true
+Style/SpaceInsideRangeLiteral:
+ Enabled: true
+Style/StabbyLambdaParentheses:
+ Enabled: true
+# core chef community prefers double quotes over single quotes
+Style/StringLiterals:
+ EnforcedStyle: double_quotes
+ Enabled: true
+Style/SymbolLiteral:
+ Enabled: true
+Style/Tab:
+ Enabled: true
+Style/TrailingBlankLines:
+ Enabled: true
+# rubocop's default gets this completely backwards
+Style/TrailingComma:
+ Enabled: true
+ EnforcedStyleForMultiline: comma
+Style/TrailingUnderscoreVariable:
+ Enabled: true
+Style/TrailingWhitespace:
+ Enabled: true
+Style/UnneededCapitalW:
+ Enabled: true
+#Style/UnneededPercentQ: # would like to enable this one but its buggy as of 0.35.1
+# Enabled: true
+Style/WhenThen:
+ Enabled: true
+Style/WhileUntilDo:
+ Enabled: true
+Style/WordArray:
+ Enabled: true
+
+#
+# Disabled Style
+#
+
+# As of this commit we have 686 modules and classes without docs.
+# This is a cop that we /should/ have enabled, but tactically we can't really enable.
+Style/Documentation:
+ Enabled: false
+
+# this makes whitespace formatting of DSL code impossible
+Style/SingleSpaceBeforeFirstArg:
+ Enabled: false
+
+# whitespace in expressions is useful to enhance readability
+Style/SpaceInsideBrackets:
+ Enabled: false
+Style/SpaceInsideParens:
+ Enabled: false
+
+# more whitespace cops that we allow since they can enhance readability
+Style/EmptyLinesAroundBlockBody:
+ Enabled: false
+Style/EmptyLinesAroundClassBody:
+ Enabled: false
+Style/EmptyLinesAroundModuleBody:
+ Enabled: false
+
+# double negation is perfectly idiomatic ruby
+Style/DoubleNegation:
+ Enabled: false
+# format strings are also perfectly idiomatic ruby
+Style/FormatString:
+ Enabled: false
+# single line if/unless blocks may read more naturally than modifiers
+Style/IfUnlessModifier:
+ Enabled: false
+
+# we are ruby > 2.0 only so can disable the Encoding cop
+Style/Encoding:
+ Enabled: false
+
+# Dan is -1 on this one: https://github.com/chef/chef/pull/4526#issuecomment-179950045
+Style/IndentHash:
+ Enabled: false
+
+# This is overly aggressive and autofix broke stuff, would need to exclude classes
+# - https://github.com/chef/chef/pull/4541
+Style/TrivialAccessors:
+ Enabled: false