# Available cops (428) + config for /home/ken/everygit/cloudflare_cli: # Department 'Bundler' (4): Bundler/DuplicatedGem: Description: Checks for duplicate gem entries in Gemfile. Enabled: true Include: - "**/*.gemfile" - "**/Gemfile" - "**/gems.rb" Bundler/GemComment: Description: Add a comment describing each gem. Enabled: false Include: - "**/*.gemfile" - "**/Gemfile" - "**/gems.rb" Whitelist: [] # Supports --auto-correct Bundler/InsecureProtocolSource: Description: The source `:gemcutter`, `:rubygems` and `:rubyforge` are deprecated because HTTP requests are insecure. Please change your source to 'https://rubygems.org' if possible, or 'http://rubygems.org' if not. Enabled: true Include: - "**/*.gemfile" - "**/Gemfile" - "**/gems.rb" # Supports --auto-correct Bundler/OrderedGems: Description: Gems within groups in the Gemfile should be alphabetically sorted. Enabled: true Include: - "**/*.gemfile" - "**/Gemfile" - "**/gems.rb" TreatCommentsAsGroupSeparators: true # Department 'Gemspec' (3): Gemspec/DuplicatedAssignment: Description: An attribute assignment method calls should be listed only once in a gemspec. Enabled: true Include: - "**/*.gemspec" # Supports --auto-correct Gemspec/OrderedDependencies: Description: Dependencies in the gemspec should be alphabetically sorted. Enabled: true Include: - "**/*.gemspec" TreatCommentsAsGroupSeparators: true Gemspec/RequiredRubyVersion: Description: Checks that `required_ruby_version` of gemspec and `TargetRubyVersion` of .rubocop.yml are equal. Enabled: true Include: - "**/*.gemspec" # Department 'Layout' (81): # Supports --auto-correct Layout/AccessModifierIndentation: Description: Check indentation of private/protected visibility modifiers. StyleGuide: "#indent-public-private-protected" Enabled: true EnforcedStyle: indent SupportedStyles: - outdent - indent IndentationWidth: # Supports --auto-correct Layout/AlignArray: Description: Align the elements of an array literal if they span more than one line. StyleGuide: "#align-multiline-arrays" Enabled: true # Supports --auto-correct Layout/AlignHash: Description: Align the elements of a hash literal if they span more than one line. Enabled: true EnforcedHashRocketStyle: key SupportedHashRocketStyles: - key - separator - table EnforcedColonStyle: key SupportedColonStyles: - key - separator - table EnforcedLastArgumentHashStyle: always_inspect SupportedLastArgumentHashStyles: - always_inspect - always_ignore - ignore_implicit - ignore_explicit # Supports --auto-correct Layout/AlignParameters: Description: Align the parameters of a method call if they span more than one line. StyleGuide: "#no-double-indent" Enabled: true EnforcedStyle: with_first_parameter SupportedStyles: - with_first_parameter - with_fixed_indentation IndentationWidth: # Supports --auto-correct Layout/BlockAlignment: Description: Align block ends correctly. Enabled: true EnforcedStyleAlignWith: either SupportedStylesAlignWith: - either - start_of_block - start_of_line # Supports --auto-correct Layout/BlockEndNewline: Description: Put end statement of multiline block on its own line. Enabled: true # Supports --auto-correct Layout/CaseIndentation: Description: Indentation of when in a case/when/[else/]end. StyleGuide: "#indent-when-to-case" Enabled: true EnforcedStyle: case SupportedStyles: - case - end IndentOneStep: false IndentationWidth: # Supports --auto-correct Layout/ClassStructure: Description: Enforces a configured order of definitions within a class body. StyleGuide: https://github.com/rubocop-hq/ruby-style-guide#consistent-classes Enabled: false Categories: module_inclusion: - include - prepend - extend ExpectedOrder: - module_inclusion - constants - public_class_methods - initializer - public_methods - protected_methods - private_methods # Supports --auto-correct Layout/ClosingHeredocIndentation: Description: Checks the indentation of here document closings. Enabled: true # Supports --auto-correct Layout/ClosingParenthesisIndentation: Description: Checks the indentation of hanging closing parentheses. Enabled: true # Supports --auto-correct Layout/CommentIndentation: Description: Indentation of comments. Enabled: true Layout/ConditionPosition: Description: Checks for condition placed in a confusing position relative to the keyword. StyleGuide: "#same-line-condition" Enabled: true # Supports --auto-correct Layout/DefEndAlignment: Description: Align ends corresponding to defs correctly. Enabled: true EnforcedStyleAlignWith: start_of_line SupportedStylesAlignWith: - start_of_line - def AutoCorrect: false Severity: warning # Supports --auto-correct Layout/DotPosition: Description: Checks the position of the dot in multi-line method calls. StyleGuide: "#consistent-multi-line-chains" Enabled: true EnforcedStyle: leading SupportedStyles: - leading - trailing # Supports --auto-correct Layout/ElseAlignment: Description: Align elses and elsifs correctly. Enabled: true # Supports --auto-correct Layout/EmptyComment: Description: Checks empty comment. Enabled: true AllowBorderComment: true AllowMarginComment: true # Supports --auto-correct Layout/EmptyLineAfterGuardClause: Description: Add empty line after guard clause. Enabled: true # Supports --auto-correct Layout/EmptyLineAfterMagicComment: Description: Add an empty line after magic comments to separate them from code. StyleGuide: "#separate-magic-comments-from-code" Enabled: true # Supports --auto-correct Layout/EmptyLineBetweenDefs: Description: Use empty lines between defs. StyleGuide: "#empty-lines-between-methods" Enabled: true AllowAdjacentOneLineDefs: false NumberOfEmptyLines: 1 # Supports --auto-correct Layout/EmptyLines: Description: Don't use several empty lines in a row. StyleGuide: "#two-or-more-empty-lines" Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundAccessModifier: Description: Keep blank lines around access modifiers. StyleGuide: "#empty-lines-around-access-modifier" Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundArguments: Description: Keeps track of empty lines around method arguments. Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundBeginBody: Description: Keeps track of empty lines around begin-end bodies. StyleGuide: "#empty-lines-around-bodies" Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundBlockBody: Description: Keeps track of empty lines around block bodies. StyleGuide: "#empty-lines-around-bodies" Enabled: true EnforcedStyle: no_empty_lines SupportedStyles: - empty_lines - no_empty_lines # Supports --auto-correct Layout/EmptyLinesAroundClassBody: Description: Keeps track of empty lines around class bodies. StyleGuide: "#empty-lines-around-bodies" Enabled: true EnforcedStyle: no_empty_lines SupportedStyles: - empty_lines - empty_lines_except_namespace - empty_lines_special - no_empty_lines - beginning_only - ending_only # Supports --auto-correct Layout/EmptyLinesAroundExceptionHandlingKeywords: Description: Keeps track of empty lines around exception handling keywords. StyleGuide: "#empty-lines-around-bodies" Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundMethodBody: Description: Keeps track of empty lines around method bodies. StyleGuide: "#empty-lines-around-bodies" Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundModuleBody: Description: Keeps track of empty lines around module bodies. StyleGuide: "#empty-lines-around-bodies" Enabled: true EnforcedStyle: no_empty_lines SupportedStyles: - empty_lines - empty_lines_except_namespace - empty_lines_special - no_empty_lines # Supports --auto-correct Layout/EndAlignment: Description: Align ends correctly. Enabled: true EnforcedStyleAlignWith: keyword SupportedStylesAlignWith: - keyword - variable - start_of_line AutoCorrect: false Severity: warning Layout/EndOfLine: Description: Use Unix-style line endings. StyleGuide: "#crlf" Enabled: true EnforcedStyle: native SupportedStyles: - native - lf - crlf # Supports --auto-correct Layout/ExtraSpacing: Description: Do not use unnecessary spacing. Enabled: true AllowForAlignment: true ForceEqualSignAlignment: false # Supports --auto-correct Layout/FirstArrayElementLineBreak: Description: Checks for a line break before the first element in a multi-line array. Enabled: false # Supports --auto-correct Layout/FirstHashElementLineBreak: Description: Checks for a line break before the first element in a multi-line hash. Enabled: false # Supports --auto-correct Layout/FirstMethodArgumentLineBreak: Description: Checks for a line break before the first argument in a multi-line method call. Enabled: false # Supports --auto-correct Layout/FirstMethodParameterLineBreak: Description: Checks for a line break before the first parameter in a multi-line method parameter definition. Enabled: false # Supports --auto-correct Layout/FirstParameterIndentation: Description: Checks the indentation of the first parameter in a method call. Enabled: true EnforcedStyle: special_for_inner_method_call_in_parentheses SupportedStyles: - consistent - consistent_relative_to_receiver - special_for_inner_method_call - special_for_inner_method_call_in_parentheses IndentationWidth: # Supports --auto-correct Layout/IndentArray: Description: Checks the indentation of the first element in an array literal. Enabled: true EnforcedStyle: special_inside_parentheses SupportedStyles: - special_inside_parentheses - consistent - align_brackets IndentationWidth: # Supports --auto-correct Layout/IndentAssignment: Description: Checks the indentation of the first line of the right-hand-side of a multi-line assignment. Enabled: true IndentationWidth: # Supports --auto-correct Layout/IndentHash: Description: Checks the indentation of the first key in a hash literal. Enabled: true EnforcedStyle: special_inside_parentheses SupportedStyles: - special_inside_parentheses - consistent - align_braces IndentationWidth: # Supports --auto-correct Layout/IndentHeredoc: Description: This cops checks the indentation of the here document bodies. StyleGuide: "#squiggly-heredocs" Enabled: true EnforcedStyle: auto_detection SupportedStyles: - auto_detection - squiggly - active_support - powerpack - unindent # Supports --auto-correct Layout/IndentationConsistency: Description: Keep indentation straight. StyleGuide: "#spaces-indentation" Enabled: true EnforcedStyle: normal SupportedStyles: - normal - rails # Supports --auto-correct Layout/IndentationWidth: Description: Use 2 spaces for indentation. StyleGuide: "#spaces-indentation" Enabled: true Width: 2 IgnoredPatterns: [] # Supports --auto-correct Layout/InitialIndentation: Description: Checks the indentation of the first non-blank non-comment line in a file. Enabled: true # Supports --auto-correct Layout/LeadingBlankLines: Description: Check for unnecessary blank lines at the beginning of a file. Enabled: true # Supports --auto-correct Layout/LeadingCommentSpace: Description: Comments should start with a space. StyleGuide: "#hash-space" Enabled: true # Supports --auto-correct Layout/MultilineArrayBraceLayout: Description: Checks that the closing brace in an array literal is either on the same line as the last array element, or a new line. Enabled: true EnforcedStyle: symmetrical SupportedStyles: - symmetrical - new_line - same_line # Supports --auto-correct Layout/MultilineAssignmentLayout: Description: Check for a newline after the assignment operator in multi-line assignments. StyleGuide: "#indent-conditional-assignment" Enabled: false SupportedTypes: - block - case - class - if - kwbegin - module EnforcedStyle: new_line SupportedStyles: - same_line - new_line # Supports --auto-correct Layout/MultilineBlockLayout: Description: Ensures newlines after multiline block do statements. Enabled: true # Supports --auto-correct Layout/MultilineHashBraceLayout: Description: Checks that the closing brace in a hash literal is either on the same line as the last hash element, or a new line. Enabled: true EnforcedStyle: symmetrical SupportedStyles: - symmetrical - new_line - same_line # Supports --auto-correct Layout/MultilineMethodCallBraceLayout: Description: Checks that the closing brace in a method call is either on the same line as the last method argument, or a new line. Enabled: true EnforcedStyle: symmetrical SupportedStyles: - symmetrical - new_line - same_line # Supports --auto-correct Layout/MultilineMethodCallIndentation: Description: Checks indentation of method calls with the dot operator that span more than one line. Enabled: true EnforcedStyle: aligned SupportedStyles: - aligned - indented - indented_relative_to_receiver IndentationWidth: # Supports --auto-correct Layout/MultilineMethodDefinitionBraceLayout: Description: Checks that the closing brace in a method definition is either on the same line as the last method parameter, or a new line. Enabled: true EnforcedStyle: symmetrical SupportedStyles: - symmetrical - new_line - same_line # Supports --auto-correct Layout/MultilineOperationIndentation: Description: Checks indentation of binary operations that span more than one line. Enabled: true EnforcedStyle: aligned SupportedStyles: - aligned - indented IndentationWidth: # Supports --auto-correct Layout/RescueEnsureAlignment: Description: Align rescues and ensures correctly. Enabled: true # Supports --auto-correct Layout/SpaceAfterColon: Description: Use spaces after colons. StyleGuide: "#spaces-operators" Enabled: true # Supports --auto-correct Layout/SpaceAfterComma: Description: Use spaces after commas. StyleGuide: "#spaces-operators" Enabled: true # Supports --auto-correct Layout/SpaceAfterMethodName: Description: Do not put a space between a method name and the opening parenthesis in a method definition. StyleGuide: "#parens-no-spaces" Enabled: true # Supports --auto-correct Layout/SpaceAfterNot: Description: Tracks redundant space after the ! operator. StyleGuide: "#no-space-bang" Enabled: true # Supports --auto-correct Layout/SpaceAfterSemicolon: Description: Use spaces after semicolons. StyleGuide: "#spaces-operators" Enabled: true # Supports --auto-correct Layout/SpaceAroundBlockParameters: Description: Checks the spacing inside and after block parameters pipes. Enabled: true EnforcedStyleInsidePipes: no_space SupportedStylesInsidePipes: - space - no_space # Supports --auto-correct Layout/SpaceAroundEqualsInParameterDefault: Description: Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration. StyleGuide: "#spaces-around-equals" Enabled: true EnforcedStyle: space SupportedStyles: - space - no_space # Supports --auto-correct Layout/SpaceAroundKeyword: Description: Use a space around keywords if appropriate. Enabled: true # Supports --auto-correct Layout/SpaceAroundOperators: Description: Use a single space around operators. StyleGuide: "#spaces-operators" Enabled: true AllowForAlignment: true # Supports --auto-correct Layout/SpaceBeforeBlockBraces: Description: Checks that the left block brace has or doesn't have space before it. Enabled: true EnforcedStyle: space SupportedStyles: - space - no_space EnforcedStyleForEmptyBraces: space SupportedStylesForEmptyBraces: - space - no_space # Supports --auto-correct Layout/SpaceBeforeComma: Description: No spaces before commas. Enabled: true # Supports --auto-correct Layout/SpaceBeforeComment: Description: Checks for missing space between code and a comment on the same line. Enabled: true # Supports --auto-correct Layout/SpaceBeforeFirstArg: Description: Checks that exactly one space is used between a method name and the first argument for method calls without parentheses. Enabled: true AllowForAlignment: true # Supports --auto-correct Layout/SpaceBeforeSemicolon: Description: No spaces before semicolons. Enabled: true # Supports --auto-correct Layout/SpaceInLambdaLiteral: Description: Checks for spaces in lambda literals. Enabled: true EnforcedStyle: require_no_space SupportedStyles: - require_no_space - require_space # Supports --auto-correct Layout/SpaceInsideArrayLiteralBrackets: Description: Checks the spacing inside array literal brackets. Enabled: true EnforcedStyle: no_space SupportedStyles: - space - no_space - compact EnforcedStyleForEmptyBrackets: no_space SupportedStylesForEmptyBrackets: - space - no_space # Supports --auto-correct Layout/SpaceInsideArrayPercentLiteral: Description: No unnecessary additional spaces between elements in %i/%w literals. Enabled: true # Supports --auto-correct Layout/SpaceInsideBlockBraces: Description: Checks that block braces have or don't have surrounding space. For blocks taking parameters, checks that the left brace has or doesn't have trailing space. Enabled: true EnforcedStyle: space SupportedStyles: - space - no_space EnforcedStyleForEmptyBraces: no_space SupportedStylesForEmptyBraces: - space - no_space SpaceBeforeBlockParameters: true # Supports --auto-correct Layout/SpaceInsideHashLiteralBraces: Description: Use spaces inside hash literal braces - or don't. StyleGuide: "#spaces-operators" Enabled: true EnforcedStyle: space SupportedStyles: - space - no_space - compact EnforcedStyleForEmptyBraces: no_space SupportedStylesForEmptyBraces: - space - no_space # Supports --auto-correct Layout/SpaceInsideParens: Description: No spaces after ( or before ). StyleGuide: "#spaces-braces" Enabled: true EnforcedStyle: no_space SupportedStyles: - space - no_space # Supports --auto-correct Layout/SpaceInsidePercentLiteralDelimiters: Description: No unnecessary spaces inside delimiters of %i/%w/%x literals. Enabled: true # Supports --auto-correct Layout/SpaceInsideRangeLiteral: Description: No spaces inside range literals. StyleGuide: "#no-space-inside-range-literals" Enabled: true # Supports --auto-correct Layout/SpaceInsideReferenceBrackets: Description: Checks the spacing inside referential brackets. Enabled: true EnforcedStyle: no_space SupportedStyles: - space - no_space EnforcedStyleForEmptyBrackets: no_space SupportedStylesForEmptyBrackets: - space - no_space # Supports --auto-correct Layout/SpaceInsideStringInterpolation: Description: Checks for padding/surrounding spaces inside string interpolation. StyleGuide: "#string-interpolation" Enabled: true EnforcedStyle: no_space SupportedStyles: - space - no_space # Supports --auto-correct Layout/Tab: Description: No hard tabs. StyleGuide: "#spaces-indentation" Enabled: true IndentationWidth: # Supports --auto-correct Layout/TrailingBlankLines: Description: Checks trailing blank lines and final newline. StyleGuide: "#newline-eof" Enabled: true EnforcedStyle: final_newline SupportedStyles: - final_newline - final_blank_line # Supports --auto-correct Layout/TrailingWhitespace: Description: Avoid trailing whitespace. StyleGuide: "#no-trailing-whitespace" Enabled: true AllowInHeredoc: false # Department 'Lint' (75): Lint/AmbiguousBlockAssociation: Description: Checks for ambiguous block association with method when param passed without parentheses. StyleGuide: "#syntax" Enabled: true Lint/AmbiguousOperator: Description: Checks for ambiguous operators in the first argument of a method invocation without parentheses. StyleGuide: "#method-invocation-parens" Enabled: true Lint/AmbiguousRegexpLiteral: Description: Checks for ambiguous regexp literals in the first argument of a method invocation without parentheses. Enabled: true Lint/AssignmentInCondition: Description: Don't use assignment in conditions. StyleGuide: "#safe-assignment-in-condition" Enabled: true AllowSafeAssignment: true # Supports --auto-correct Lint/BigDecimalNew: Description: "`BigDecimal.new()` is deprecated. Use `BigDecimal()` instead." Enabled: true Lint/BooleanSymbol: Description: Check for `:true` and `:false` symbols. Enabled: true Lint/CircularArgumentReference: Description: Default values in optional keyword arguments and optional ordinal arguments should not refer back to the name of the argument. Enabled: true Lint/Debugger: Description: Check for debugger calls. Enabled: true # Supports --auto-correct Lint/DeprecatedClassMethods: Description: Check for deprecated class method calls. Enabled: true Lint/DuplicateCaseCondition: Description: Do not repeat values in case conditionals. Enabled: true Lint/DuplicateMethods: Description: Check for duplicate method definitions. Enabled: true Lint/DuplicatedKey: Description: Check for duplicate keys in hash literals. Enabled: true Lint/EachWithObjectArgument: Description: Check for immutable argument given to each_with_object. Enabled: true Lint/ElseLayout: Description: Check for odd code arrangement in an else block. Enabled: true # Supports --auto-correct Lint/EmptyEnsure: Description: Checks for empty ensure block. Enabled: true AutoCorrect: false Lint/EmptyExpression: Description: Checks for empty expressions. Enabled: true # Supports --auto-correct Lint/EmptyInterpolation: Description: Checks for empty string interpolation. Enabled: true Lint/EmptyWhen: Description: Checks for `when` branches with empty bodies. Enabled: true Lint/EndInMethod: Description: END blocks should not be placed inside method definitions. Enabled: true Lint/EnsureReturn: Description: Do not use return in an ensure block. StyleGuide: "#no-return-ensure" Enabled: true Lint/ErbNewArguments: Description: Use `:trim_mode` and `:eoutvar` keyword arguments to `ERB.new`. Enabled: true Lint/FloatOutOfRange: Description: Catches floating-point literals too large or small for Ruby to represent. Enabled: true Lint/FormatParameterMismatch: Description: The number of parameters to format/sprint must match the fields. Enabled: true Lint/HandleExceptions: Description: Don't suppress exception. StyleGuide: "#dont-hide-exceptions" Enabled: true Lint/ImplicitStringConcatenation: Description: Checks for adjacent string literals on the same line, which could better be represented as a single string literal. Enabled: true Lint/IneffectiveAccessModifier: Description: Checks for attempts to use `private` or `protected` to set the visibility of a class method, which does not work. Enabled: true # Supports --auto-correct Lint/InheritException: Description: Avoid inheriting from the `Exception` class. Enabled: true EnforcedStyle: runtime_error SupportedStyles: - runtime_error - standard_error Lint/InterpolationCheck: Description: Raise warning for interpolation in single q strs Enabled: true Lint/LiteralAsCondition: Description: Checks of literals used in conditions. Enabled: true # Supports --auto-correct Lint/LiteralInInterpolation: Description: Checks for literals used in interpolation. Enabled: true Lint/Loop: Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while for post-loop tests. StyleGuide: "#loop-with-break" Enabled: true Lint/MissingCopEnableDirective: Description: Checks for a `# rubocop:enable` after `# rubocop:disable` Enabled: true MaximumRangeSize: .inf # Supports --auto-correct Lint/MultipleCompare: Description: Use `&&` operator to compare multiple value. Enabled: true Lint/NestedMethodDefinition: Description: Do not use nested method definitions. StyleGuide: "#no-nested-methods" Enabled: true Lint/NestedPercentLiteral: Description: Checks for nested percent literals. Enabled: true Lint/NextWithoutAccumulator: Description: Do not omit the accumulator when calling `next` in a `reduce`/`inject` block. Enabled: true Lint/NonLocalExitFromIterator: Description: Do not use return in iterator to cause non-local exit. Enabled: true Lint/NumberConversion: Description: Checks unsafe usage of number conversion methods. Enabled: false # Supports --auto-correct Lint/OrderedMagicComments: Description: Checks the proper ordering of magic comments and whether a magic comment is not placed before a shebang. Enabled: true Lint/ParenthesesAsGroupedExpression: Description: Checks for method calls with a space before the opening parenthesis. StyleGuide: "#parens-no-spaces" Enabled: true # Supports --auto-correct Lint/PercentStringArray: Description: Checks for unwanted commas and quotes in %w/%W literals. Enabled: true # Supports --auto-correct Lint/PercentSymbolArray: Description: Checks for unwanted commas and colons in %i/%I literals. Enabled: true Lint/RandOne: Description: Checks for `rand(1)` calls. Such calls always return `0` and most likely a mistake. Enabled: true # Supports --auto-correct Lint/RedundantWithIndex: Description: Checks for redundant `with_index`. Enabled: true # Supports --auto-correct Lint/RedundantWithObject: Description: Checks for redundant `with_object`. Enabled: true Lint/RegexpAsCondition: Description: Do not use regexp literal as a condition. The regexp literal matches `$_` implicitly. Enabled: true Lint/RequireParentheses: Description: Use parentheses in the method call to avoid confusion about precedence. Enabled: true Lint/RescueException: Description: Avoid rescuing the Exception class. StyleGuide: "#no-blind-rescues" Enabled: true # Supports --auto-correct Lint/RescueType: Description: Avoid rescuing from non constants that could result in a `TypeError`. Enabled: true Lint/ReturnInVoidContext: Description: Checks for return in void context. Enabled: true Lint/SafeNavigationChain: Description: Do not chain ordinary method call after safe navigation operator. Enabled: true Whitelist: - present? - blank? - presence - try - try! # Supports --auto-correct Lint/SafeNavigationConsistency: Description: Check to make sure that if safe navigation is used for a method call in an `&&` or `||` condition that safe navigation is used for all method calls on that same object. Enabled: true Whitelist: - present? - blank? - presence - try - try! # Supports --auto-correct Lint/ScriptPermission: Description: Grant script file execute permission. Enabled: true Lint/ShadowedArgument: Description: Avoid reassigning arguments before they were used. Enabled: true IgnoreImplicitReferences: false Lint/ShadowedException: Description: Avoid rescuing a higher level exception before a lower level exception. Enabled: true Lint/ShadowingOuterLocalVariable: Description: Do not use the same name as outer local variable for block arguments or block local variables. Enabled: true # Supports --auto-correct Lint/StringConversionInInterpolation: Description: Checks for Object#to_s usage in string interpolation. StyleGuide: "#no-to-s" Enabled: true Lint/Syntax: Description: Checks syntax error Enabled: true Lint/UnderscorePrefixedVariableName: Description: Do not use prefix `_` for a variable that is used. Enabled: true # Supports --auto-correct Lint/UnifiedInteger: Description: Use Integer instead of Fixnum or Bignum Enabled: true # Supports --auto-correct Lint/UnneededCopDisableDirective: Description: 'Checks for rubocop:disable comments that can be removed. Note: this cop is not disabled when disabling all cops. It must be explicitly disabled.' Enabled: true # Supports --auto-correct Lint/UnneededCopEnableDirective: Description: Checks for rubocop:enable comments that can be removed. Enabled: true # Supports --auto-correct Lint/UnneededRequireStatement: Description: Checks for unnecessary `require` statement. Enabled: true # Supports --auto-correct Lint/UnneededSplatExpansion: Description: Checks for splat unnecessarily being called on literals Enabled: true Lint/UnreachableCode: Description: Unreachable code. Enabled: true # Supports --auto-correct Lint/UnusedBlockArgument: Description: Checks for unused block arguments. StyleGuide: "#underscore-unused-vars" Enabled: false IgnoreEmptyBlocks: true AllowUnusedKeywordArguments: false # Supports --auto-correct Lint/UnusedMethodArgument: Description: Checks for unused method arguments. StyleGuide: "#underscore-unused-vars" Enabled: true AllowUnusedKeywordArguments: false IgnoreEmptyMethods: true Lint/UriEscapeUnescape: Description: "`URI.escape` method is obsolete and should not be used. Instead, use `CGI.escape`, `URI.encode_www_form` or `URI.encode_www_form_component` depending on your specific use case. Also `URI.unescape` method is obsolete and should not be used. Instead, use `CGI.unescape`, `URI.decode_www_form` or `URI.decode_www_form_component` depending on your specific use case." Enabled: true # Supports --auto-correct Lint/UriRegexp: Description: Use `URI::DEFAULT_PARSER.make_regexp` instead of `URI.regexp`. Enabled: true Lint/UselessAccessModifier: Description: Checks for useless access modifiers. Enabled: true ContextCreatingMethods: [] MethodCreatingMethods: [] Lint/UselessAssignment: Description: Checks for useless assignment to a local variable. StyleGuide: "#underscore-unused-vars" Enabled: true Lint/UselessComparison: Description: Checks for comparison of something with itself. Enabled: true Lint/UselessElseWithoutRescue: Description: Checks for useless `else` in `begin..end` without `rescue`. Enabled: true Lint/UselessSetterCall: Description: Checks for useless setter call to a local variable. Enabled: true Lint/Void: Description: Possible use of operator/literal/variable in void context. Enabled: true CheckForMethodsWithNoSideEffects: false # Department 'Metrics' (10): Metrics/AbcSize: Description: A calculated magnitude based on number of assignments, branches, and conditions. Reference: http://c2.com/cgi/wiki?AbcMetric Enabled: true Max: 15 Metrics/BlockLength: Description: Avoid long blocks with many lines. Enabled: false CountComments: false Max: 25 ExcludedMethods: - refine Metrics/BlockNesting: Description: Avoid excessive block nesting StyleGuide: "#three-is-the-number-thou-shalt-count" Enabled: true CountBlocks: false Max: 3 Metrics/ClassLength: Description: Avoid classes longer than 100 lines of code. Enabled: true CountComments: false Max: 100 Metrics/CyclomaticComplexity: Description: A complexity metric that is strongly correlated to the number of test cases needed to validate a method. Enabled: true Max: 6 Metrics/LineLength: Description: Limit lines to 80 characters. StyleGuide: "#80-character-limits" Enabled: false Max: 80 AllowHeredoc: true AllowURI: true URISchemes: - http - https IgnoreCopDirectives: false IgnoredPatterns: [] Metrics/MethodLength: Description: Avoid methods longer than 10 lines of code. StyleGuide: "#short-methods" Enabled: true CountComments: false Max: 10 Metrics/ModuleLength: Description: Avoid modules longer than 100 lines of code. Enabled: true CountComments: false Max: 100 Metrics/ParameterLists: Description: Avoid parameter lists longer than three or four parameters. StyleGuide: "#too-many-params" Enabled: true Max: 5 CountKeywordArgs: true Metrics/PerceivedComplexity: Description: A complexity metric geared towards measuring complexity for a human reader. Enabled: true Max: 7 # Department 'Naming' (15): Naming/AccessorMethodName: Description: Check the naming of accessor methods for get_/set_. StyleGuide: "#accessor_mutator_method_names" Enabled: true Naming/AsciiIdentifiers: Description: Use only ascii symbols in identifiers. StyleGuide: "#english-identifiers" Enabled: true Naming/BinaryOperatorParameterName: Description: When defining binary operators, name the argument other. StyleGuide: "#other-arg" Enabled: true Naming/ClassAndModuleCamelCase: Description: Use CamelCase for classes and modules. StyleGuide: "#camelcase-classes" Enabled: true Naming/ConstantName: Description: Constants should use SCREAMING_SNAKE_CASE. StyleGuide: "#screaming-snake-case" Enabled: true Naming/FileName: Description: Use snake_case for source file names. StyleGuide: "#snake-case-files" Enabled: true Exclude: [] ExpectMatchingDefinition: false Regex: IgnoreExecutableScripts: true AllowedAcronyms: - CLI - DSL - ACL - API - ASCII - CPU - CSS - DNS - EOF - GUID - HTML - HTTP - HTTPS - ID - IP - JSON - LHS - QPS - RAM - RHS - RPC - SLA - SMTP - SQL - SSH - TCP - TLS - TTL - UDP - UI - UID - UUID - URI - URL - UTF8 - VM - XML - XMPP - XSRF - XSS Naming/HeredocDelimiterCase: Description: Use configured case for heredoc delimiters. StyleGuide: "#heredoc-delimiters" Enabled: true EnforcedStyle: uppercase SupportedStyles: - lowercase - uppercase Naming/HeredocDelimiterNaming: Description: Use descriptive heredoc delimiters. StyleGuide: "#heredoc-delimiters" Enabled: true Blacklist: - !ruby/regexp /(^|\s)(EO[A-Z]{1}|END)(\s|$)/ Naming/MemoizedInstanceVariableName: Description: Memoized method name should match memo instance variable name. Enabled: true EnforcedStyleForLeadingUnderscores: disallowed SupportedStylesForLeadingUnderscores: - disallowed - required - optional Naming/MethodName: Description: Use the configured style when naming methods. StyleGuide: "#snake-case-symbols-methods-vars" Enabled: true EnforcedStyle: snake_case SupportedStyles: - snake_case - camelCase Naming/PredicateName: Description: Check the names of predicate methods. StyleGuide: "#bool-methods-qmark" Enabled: true NamePrefix: - is_ - has_ - have_ NamePrefixBlacklist: - is_ - has_ - have_ NameWhitelist: - is_a? MethodDefinitionMacros: - define_method - define_singleton_method Exclude: - "/home/ken/everygit/cloudflare_cli/spec/**/*" Naming/UncommunicativeBlockParamName: Description: Checks for block parameter names that contain capital letters, end in numbers, or do not meet a minimal length. Enabled: true MinNameLength: 1 AllowNamesEndingInNumbers: true AllowedNames: [] ForbiddenNames: [] Naming/UncommunicativeMethodParamName: Description: Checks for method parameter names that contain capital letters, end in numbers, or do not meet a minimal length. Enabled: true MinNameLength: 3 AllowNamesEndingInNumbers: true AllowedNames: - io - id - to - by - 'on' - in - at - ip - db ForbiddenNames: [] Naming/VariableName: Description: Use the configured style when naming variables. StyleGuide: "#snake-case-symbols-methods-vars" Enabled: true EnforcedStyle: snake_case SupportedStyles: - snake_case - camelCase Naming/VariableNumber: Description: Use the configured style when numbering variables. Enabled: true EnforcedStyle: normalcase SupportedStyles: - snake_case - normalcase - non_integer # Department 'Performance' (28): Performance/Caller: Description: Use `caller(n..n)` instead of `caller`. Enabled: true # Supports --auto-correct Performance/CaseWhenSplat: Description: Reordering `when` conditions with a splat to the end of the `when` branches can improve performance. Enabled: false AutoCorrect: false # Supports --auto-correct Performance/Casecmp: Description: Use `casecmp` rather than `downcase ==`, `upcase ==`, `== downcase`, or `== upcase`.. Reference: https://github.com/JuanitoFatas/fast-ruby#stringcasecmp-vs-stringdowncase---code Enabled: true Performance/ChainArrayAllocation: Description: Instead of chaining array methods that allocate new arrays, mutate an existing array. Reference: https://twitter.com/schneems/status/1034123879978029057 Enabled: false # Supports --auto-correct Performance/CompareWithBlock: Description: Use `sort_by(&:foo)` instead of `sort { |a, b| a.foo <=> b.foo }`. Enabled: true # Supports --auto-correct Performance/Count: Description: Use `count` instead of `select...size`, `reject...size`, `select...count`, `reject...count`, `select...length`, and `reject...length`. SafeMode: true Enabled: true # Supports --auto-correct Performance/Detect: Description: Use `detect` instead of `select.first`, `find_all.first`, `select.last`, and `find_all.last`. Reference: https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code SafeMode: true Enabled: true # Supports --auto-correct Performance/DoubleStartEndWith: Description: Use `str.{start,end}_with?(x, ..., y, ...)` instead of `str.{start,end}_with?(x, ...) || str.{start,end}_with?(y, ...)`. Enabled: true IncludeActiveSupportAliases: false # Supports --auto-correct Performance/EndWith: Description: Use `end_with?` instead of a regex match anchored to the end of a string. Reference: https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end AutoCorrect: false Enabled: true Performance/FixedSize: Description: Do not compute the size of statically sized objects except in constants Enabled: true # Supports --auto-correct Performance/FlatMap: Description: Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1)` or `Enumberable#collect..Array#flatten(1)` Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code Enabled: true EnabledForFlattenWithoutParams: false # Supports --auto-correct Performance/InefficientHashSearch: Description: Use `key?` or `value?` instead of `keys.include?` or `values.include?` Reference: https://github.com/JuanitoFatas/fast-ruby#hashkey-instead-of-hashkeysinclude-code Enabled: true # Supports --auto-correct Performance/LstripRstrip: Description: Use `strip` instead of `lstrip.rstrip`. Enabled: true # Supports --auto-correct Performance/RangeInclude: Description: Use `Range#cover?` instead of `Range#include?`. Reference: https://github.com/JuanitoFatas/fast-ruby#cover-vs-include-code Enabled: true # Supports --auto-correct Performance/RedundantBlockCall: Description: Use `yield` instead of `block.call`. Reference: https://github.com/JuanitoFatas/fast-ruby#proccall-and-block-arguments-vs-yieldcode Enabled: true # Supports --auto-correct Performance/RedundantMatch: Description: Use `=~` instead of `String#match` or `Regexp#match` in a context where the returned `MatchData` is not needed. Enabled: true # Supports --auto-correct Performance/RedundantMerge: Description: Use Hash#[]=, rather than Hash#merge! with a single key-value pair. Reference: https://github.com/JuanitoFatas/fast-ruby#hashmerge-vs-hash-code Enabled: true MaxKeyValuePairs: 2 # Supports --auto-correct Performance/RedundantSortBy: Description: Use `sort` instead of `sort_by { |x| x }`. Enabled: true # Supports --auto-correct Performance/RegexpMatch: Description: Use `match?` instead of `Regexp#match`, `String#match`, `Symbol#match`, `Regexp#===`, or `=~` when `MatchData` is not used. Reference: https://github.com/JuanitoFatas/fast-ruby#regexp-vs-stringmatch-vs-string-vs-stringmatch-code- Enabled: true # Supports --auto-correct Performance/ReverseEach: Description: Use `reverse_each` instead of `reverse.each`. Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code Enabled: true # Supports --auto-correct Performance/Sample: Description: Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Integer]`. Reference: https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code Enabled: true # Supports --auto-correct Performance/Size: Description: Use `size` instead of `count` for counting the number of elements in `Array` and `Hash`. Reference: https://github.com/JuanitoFatas/fast-ruby#arraylength-vs-arraysize-vs-arraycount-code Enabled: true # Supports --auto-correct Performance/StartWith: Description: Use `start_with?` instead of a regex match anchored to the beginning of a string. Reference: https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end AutoCorrect: false Enabled: true # Supports --auto-correct Performance/StringReplacement: Description: Use `tr` instead of `gsub` when you are replacing the same number of characters. Use `delete` instead of `gsub` when you are deleting characters. Reference: https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code Enabled: true # Supports --auto-correct Performance/TimesMap: Description: Checks for .times.map calls. AutoCorrect: false Enabled: true Performance/UnfreezeString: Description: Use unary plus to get an unfrozen string literal. Enabled: true # Supports --auto-correct Performance/UnneededSort: Description: Use `min` instead of `sort.first`, `max_by` instead of `sort_by...last`, etc. Enabled: true # Supports --auto-correct Performance/UriDefaultParser: Description: Use `URI::DEFAULT_PARSER` instead of `URI::Parser.new`. Enabled: true # Department 'Rails' (45): # Supports --auto-correct Rails/ActionFilter: Description: Enforces consistent use of action filter methods. Enabled: false EnforcedStyle: action SupportedStyles: - action - filter Include: - app/controllers/**/*.rb # Supports --auto-correct Rails/ActiveRecordAliases: Description: 'Avoid Active Record aliases: Use `update` instead of `update_attributes`. Use `update!` instead of `update_attributes!`.' Enabled: false # Supports --auto-correct Rails/ActiveSupportAliases: Description: 'Avoid ActiveSupport aliases of standard ruby methods: `String#starts_with?`, `String#ends_with?`, `Array#append`, `Array#prepend`.' Enabled: false # Supports --auto-correct Rails/ApplicationJob: Description: Check that jobs subclass ApplicationJob. Enabled: false # Supports --auto-correct Rails/ApplicationRecord: Description: Check that models subclass ApplicationRecord. Enabled: false # Supports --auto-correct Rails/AssertNot: Description: Use `assert_not` instead of `assert !`. Enabled: false Include: - "**/test/**/*" # Supports --auto-correct Rails/Blank: Description: Enforces use of `blank?`. Enabled: false NilOrEmpty: true NotPresent: true UnlessPresent: true Rails/BulkChangeTable: Description: Check whether alter queries are combinable. Enabled: false Database: SupportedDatabases: - mysql - postgresql Include: - db/migrate/*.rb Rails/CreateTableWithTimestamps: Description: Checks the migration for which timestamps are not included when creating a new table. Enabled: false Include: - db/migrate/*.rb Rails/Date: Description: Checks the correct usage of date aware methods, such as Date.today, Date.current etc. Enabled: false EnforcedStyle: flexible SupportedStyles: - strict - flexible # Supports --auto-correct Rails/Delegate: Description: Prefer delegate method for delegations. Enabled: false EnforceForPrefixed: true # Supports --auto-correct Rails/DelegateAllowBlank: Description: Do not use allow_blank as an option to delegate. Enabled: false # Supports --auto-correct Rails/DynamicFindBy: Description: Use `find_by` instead of dynamic `find_by_*`. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#find_by Enabled: false Whitelist: - find_by_sql Rails/EnumUniqueness: Description: Avoid duplicate integers in hash-syntax `enum` declaration. Enabled: false Include: - app/models/**/*.rb # Supports --auto-correct Rails/EnvironmentComparison: Description: Favor `Rails.env.production?` over `Rails.env == 'production'` Enabled: false Rails/Exit: Description: Favor `fail`, `break`, `return`, etc. over `exit` in application or library code outside of Rake files to avoid exits during unit testing or running in production. Enabled: false Include: - app/**/*.rb - config/**/*.rb - lib/**/*.rb Exclude: - "/home/ken/everygit/cloudflare_cli/lib/**/*.rake" Rails/FilePath: Description: Use `Rails.root.join` for file path joining. Enabled: false EnforcedStyle: arguments SupportedStyles: - slashes - arguments # Supports --auto-correct Rails/FindBy: Description: Prefer find_by over where.first. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#find_by Enabled: false Include: - app/models/**/*.rb # Supports --auto-correct Rails/FindEach: Description: Prefer all.find_each over all.find. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#find-each Enabled: false Include: - app/models/**/*.rb Rails/HasAndBelongsToMany: Description: Prefer has_many :through to has_and_belongs_to_many. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#has-many-through Enabled: false Include: - app/models/**/*.rb Rails/HasManyOrHasOneDependent: Description: Define the dependent option to the has_many and has_one associations. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#has_many-has_one-dependent-option Enabled: false Include: - app/models/**/*.rb # Supports --auto-correct Rails/HttpPositionalArguments: Description: Use keyword arguments instead of positional arguments in http method calls. Enabled: false Include: - spec/**/* - test/**/* # Supports --auto-correct Rails/HttpStatus: Description: Enforces use of symbolic or numeric value to define HTTP status. Enabled: false EnforcedStyle: symbolic SupportedStyles: - numeric - symbolic Rails/InverseOf: Description: Checks for associations where the inverse cannot be determined automatically. Enabled: false Include: - app/models/**/*.rb Rails/LexicallyScopedActionFilter: Description: Checks that methods specified in the filter's `only` or `except` options are explicitly defined in the controller. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#lexically-scoped-action-filter Enabled: false Include: - app/controllers/**/*.rb Rails/NotNullColumn: Description: Do not add a NOT NULL column without a default value Enabled: false Include: - db/migrate/*.rb Rails/Output: Description: Checks for calls to puts, print, etc. Enabled: false Include: - app/**/*.rb - config/**/*.rb - db/**/*.rb - lib/**/*.rb Rails/OutputSafety: Description: The use of `html_safe` or `raw` may be a security risk. Enabled: false # Supports --auto-correct Rails/PluralizationGrammar: Description: Checks for incorrect grammar when using methods like `3.day.ago`. Enabled: false # Supports --auto-correct Rails/Presence: Description: Checks code that can be written more easily using `Object#presence` defined by Active Support. Enabled: false # Supports --auto-correct Rails/Present: Description: Enforces use of `present?`. Enabled: false NotNilAndNotEmpty: true NotBlank: true UnlessBlank: true # Supports --auto-correct Rails/ReadWriteAttribute: Description: Checks for read_attribute(:attr) and write_attribute(:attr, val). StyleGuide: https://github.com/rubocop-hq/rails-style-guide#read-attribute Enabled: false Include: - app/models/**/*.rb # Supports --auto-correct Rails/RedundantReceiverInWithOptions: Description: Checks for redundant receiver in `with_options`. Enabled: false # Supports --auto-correct Rails/RefuteMethods: Description: Use `assert_not` methods instead of `refute` methods. Enabled: false Include: - "**/test/**/*" # Supports --auto-correct Rails/RelativeDateConstant: Description: Do not assign relative date to constants. Enabled: false AutoCorrect: false # Supports --auto-correct Rails/RequestReferer: Description: Use consistent syntax for request.referer. Enabled: false EnforcedStyle: referer SupportedStyles: - referer - referrer Rails/ReversibleMigration: Description: Checks whether the change method of the migration file is reversible. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#reversible-migration Reference: http://api.rubyonrails.org/classes/ActiveRecord/Migration/CommandRecorder.html Enabled: false Include: - db/migrate/*.rb # Supports --auto-correct Rails/SafeNavigation: Description: Use Ruby's safe navigation operator (`&.`) instead of `try!` Enabled: false ConvertTry: false # Supports --auto-correct Rails/SaveBang: Description: Identifies possible cases where Active Record save! or related should be used. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#save-bang Enabled: false AllowImplicitReturn: true AllowedReceivers: [] Rails/ScopeArgs: Description: Checks the arguments of ActiveRecord scopes. Enabled: false Include: - app/models/**/*.rb Rails/SkipsModelValidations: Description: Use methods that skips model validations with caution. See reference for more information. Reference: http://guides.rubyonrails.org/active_record_validations.html#skipping-validations Enabled: false Blacklist: - decrement! - decrement_counter - increment! - increment_counter - toggle! - touch - update_all - update_attribute - update_column - update_columns - update_counters Rails/TimeZone: Description: Checks the correct usage of time zone aware methods. StyleGuide: https://github.com/rubocop-hq/rails-style-guide#time Reference: http://danilenko.org/2012/7/6/rails_timezones Enabled: false EnforcedStyle: flexible SupportedStyles: - strict - flexible # Supports --auto-correct Rails/UniqBeforePluck: Description: Prefer the use of uniq or distinct before pluck. Enabled: false EnforcedStyle: conservative SupportedStyles: - conservative - aggressive AutoCorrect: false Rails/UnknownEnv: Description: Use correct environment name. Enabled: false Environments: - development - test - production # Supports --auto-correct Rails/Validation: Description: Use validates :attribute, hash of validations. Enabled: false Include: - app/models/**/*.rb # Department 'Security' (5): Security/Eval: Description: The use of eval represents a serious security risk. Enabled: true # Supports --auto-correct Security/JSONLoad: Description: Prefer usage of `JSON.parse` over `JSON.load` due to potential security issues. See reference for more information. Reference: http://ruby-doc.org/stdlib-2.3.0/libdoc/json/rdoc/JSON.html#method-i-load Enabled: true AutoCorrect: false Security/MarshalLoad: Description: Avoid using of `Marshal.load` or `Marshal.restore` due to potential security issues. See reference for more information. Reference: http://ruby-doc.org/core-2.3.3/Marshal.html#module-Marshal-label-Security+considerations Enabled: true Security/Open: Description: The use of Kernel#open represents a serious security risk. Enabled: true # Supports --auto-correct Security/YAMLLoad: Description: Prefer usage of `YAML.safe_load` over `YAML.load` due to potential security issues. See reference for more information. Reference: https://ruby-doc.org/stdlib-2.3.3/libdoc/yaml/rdoc/YAML.html#module-YAML-label-Security Enabled: true # Department 'Style' (162): Style/AccessModifierDeclarations: Description: Checks style of how access modifiers are used. Enabled: true EnforcedStyle: group SupportedStyles: - inline - group # Supports --auto-correct Style/Alias: Description: Use alias instead of alias_method. StyleGuide: "#alias-method" Enabled: true EnforcedStyle: prefer_alias SupportedStyles: - prefer_alias - prefer_alias_method # Supports --auto-correct Style/AndOr: Description: Use &&/|| instead of and/or. StyleGuide: "#no-and-or-or" Enabled: true EnforcedStyle: always SupportedStyles: - always - conditionals # Supports --auto-correct Style/ArrayJoin: Description: Use Array#join instead of Array#*. StyleGuide: "#array-join" Enabled: true Style/AsciiComments: Description: Use only ascii symbols in comments. StyleGuide: "#english-comments" Enabled: true AllowedChars: [] # Supports --auto-correct Style/Attr: Description: Checks for uses of Module#attr. StyleGuide: "#attr" Enabled: true Style/AutoResourceCleanup: Description: Suggests the usage of an auto resource cleanup version of a method (if available). Enabled: false # Supports --auto-correct Style/BarePercentLiterals: Description: Checks if usage of %() or %Q() matches configuration. StyleGuide: "#percent-q-shorthand" Enabled: true EnforcedStyle: bare_percent SupportedStyles: - percent_q - bare_percent Style/BeginBlock: Description: Avoid the use of BEGIN blocks. StyleGuide: "#no-BEGIN-blocks" Enabled: true # Supports --auto-correct Style/BlockComments: Description: Do not use block comments. StyleGuide: "#no-block-comments" Enabled: true # Supports --auto-correct Style/BlockDelimiters: Description: Avoid using {...} for multi-line blocks (multiline chaining is always ugly). Prefer {...} over do...end for single-line blocks. StyleGuide: "#single-line-blocks" Enabled: true EnforcedStyle: line_count_based SupportedStyles: - line_count_based - semantic - braces_for_chaining ProceduralMethods: - benchmark - bm - bmbm - create - each_with_object - measure - new - realtime - tap - with_object FunctionalMethods: - let - let! - subject - watch IgnoredMethods: - lambda - proc - it # Supports --auto-correct Style/BracesAroundHashParameters: Description: Enforce braces style around hash parameters. Enabled: true EnforcedStyle: no_braces SupportedStyles: - braces - no_braces - context_dependent Style/CaseEquality: Description: Avoid explicit use of the case equality operator(===). StyleGuide: "#no-case-equality" Enabled: true # Supports --auto-correct Style/CharacterLiteral: Description: Checks for uses of character literals. StyleGuide: "#no-character-literals" Enabled: true # Supports --auto-correct Style/ClassAndModuleChildren: Description: Checks style of children classes and modules. StyleGuide: "#namespace-definition" AutoCorrect: false Enabled: true EnforcedStyle: nested SupportedStyles: - nested - compact # Supports --auto-correct Style/ClassCheck: Description: Enforces consistent use of `Object#is_a?` or `Object#kind_of?`. Enabled: true EnforcedStyle: is_a? SupportedStyles: - is_a? - kind_of? # Supports --auto-correct Style/ClassMethods: Description: Use self when defining module/class methods. StyleGuide: "#def-self-class-methods" Enabled: true Style/ClassVars: Description: Avoid the use of class variables. StyleGuide: "#no-class-vars" Enabled: true # Supports --auto-correct Style/CollectionMethods: Description: Preferred collection methods. StyleGuide: "#map-find-select-reduce-size" Enabled: false PreferredMethods: collect: map collect!: map! inject: reduce detect: find find_all: select # Supports --auto-correct Style/ColonMethodCall: Description: 'Do not use :: for method call.' StyleGuide: "#double-colons" Enabled: true # Supports --auto-correct Style/ColonMethodDefinition: Description: 'Do not use :: for defining class methods.' StyleGuide: "#colon-method-definition" Enabled: true # Supports --auto-correct Style/CommandLiteral: Description: Use `` or %x around command literals. StyleGuide: "#percent-x" Enabled: true EnforcedStyle: backticks SupportedStyles: - backticks - percent_x - mixed AllowInnerBackticks: false # Supports --auto-correct Style/CommentAnnotation: Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK, REVIEW). StyleGuide: "#annotate-keywords" Enabled: true Keywords: - TODO - FIXME - OPTIMIZE - HACK - REVIEW Style/CommentedKeyword: Description: Do not place comments on the same line as certain keywords. Enabled: true # Supports --auto-correct Style/ConditionalAssignment: Description: Use the return value of `if` and `case` statements for assignment to a variable and variable comparison instead of assigning that variable inside of each branch. Enabled: true EnforcedStyle: assign_to_condition SupportedStyles: - assign_to_condition - assign_inside_condition SingleLineConditionsOnly: true IncludeTernaryExpressions: true # Supports --auto-correct Style/Copyright: Description: Include a copyright notice in each file before any code. Enabled: false Notice: "^Copyright (\\(c\\) )?2[0-9]{3} .+" AutocorrectNotice: '' Style/DateTime: Description: Use Time over DateTime. StyleGuide: "#date--time" Enabled: false AllowCoercion: false # Supports --auto-correct Style/DefWithParentheses: Description: Use def with parentheses when there are arguments. StyleGuide: "#method-parens" Enabled: true # Supports --auto-correct Style/Dir: Description: Use the `__dir__` method to retrieve the canonicalized absolute path to the current file. Enabled: true Style/Documentation: Description: Document classes and non-namespace modules. Enabled: true Exclude: - "/home/ken/everygit/cloudflare_cli/spec/**/*" - "/home/ken/everygit/cloudflare_cli/test/**/*" Style/DocumentationMethod: Description: Public methods. Enabled: false Exclude: - "/home/ken/everygit/cloudflare_cli/spec/**/*" - "/home/ken/everygit/cloudflare_cli/test/**/*" RequireForNonPublicMethods: false Style/DoubleNegation: Description: Checks for uses of double negation (!!). StyleGuide: "#no-bang-bang" Enabled: true # Supports --auto-correct Style/EachForSimpleLoop: Description: Use `Integer#times` for a simple loop which iterates a fixed number of times. Enabled: true # Supports --auto-correct Style/EachWithObject: Description: Prefer `each_with_object` over `inject` or `reduce`. Enabled: true # Supports --auto-correct Style/EmptyBlockParameter: Description: Omit pipes for empty block parameters. Enabled: true # Supports --auto-correct Style/EmptyCaseCondition: Description: Avoid empty condition in case statements. Enabled: true # Supports --auto-correct Style/EmptyElse: Description: Avoid empty else-clauses. Enabled: true EnforcedStyle: both SupportedStyles: - empty - nil - both # Supports --auto-correct Style/EmptyLambdaParameter: Description: Omit parens for empty lambda parameters. Enabled: true # Supports --auto-correct Style/EmptyLiteral: Description: Prefer literals to Array.new/Hash.new/String.new. StyleGuide: "#literal-array-hash" Enabled: true # Supports --auto-correct Style/EmptyMethod: Description: Checks the formatting of empty method definitions. StyleGuide: "#no-single-line-methods" Enabled: true EnforcedStyle: compact SupportedStyles: - compact - expanded # Supports --auto-correct Style/Encoding: Description: Use UTF-8 as the source file encoding. StyleGuide: "#utf-8" Enabled: true Style/EndBlock: Description: Avoid the use of END blocks. StyleGuide: "#no-END-blocks" Enabled: true Style/EvalWithLocation: Description: Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by backtraces. Enabled: true # Supports --auto-correct Style/EvenOdd: Description: Favor the use of Integer#even? && Integer#odd? StyleGuide: "#predicate-methods" Enabled: true # Supports --auto-correct Style/ExpandPathArguments: Description: Use `expand_path(__dir__)` instead of `expand_path('..', __FILE__)`. Enabled: true Style/FlipFlop: Description: Checks for flip flops StyleGuide: "#no-flip-flops" Enabled: true # Supports --auto-correct Style/For: Description: Checks use of for or each in multiline loops. StyleGuide: "#no-for-loops" Enabled: true EnforcedStyle: each SupportedStyles: - each - for # Supports --auto-correct Style/FormatString: Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%. StyleGuide: "#sprintf" Enabled: true EnforcedStyle: format SupportedStyles: - format - sprintf - percent Style/FormatStringToken: Description: Use a consistent style for format string tokens. Enabled: true EnforcedStyle: annotated SupportedStyles: - annotated - template - unannotated # Supports --auto-correct Style/FrozenStringLiteralComment: Description: Add the frozen_string_literal comment to the top of files to help transition from Ruby 2.3.0 to Ruby 3.0. Enabled: true EnforcedStyle: when_needed SupportedStyles: - when_needed - always - never Style/GlobalVars: Description: Do not introduce global variables. StyleGuide: "#instance-vars" Reference: http://www.zenspider.com/Languages/Ruby/QuickRef.html Enabled: true AllowedVariables: [] Style/GuardClause: Description: Check for conditionals that can be replaced with guard clauses StyleGuide: "#no-nested-conditionals" Enabled: true MinBodyLength: 1 # Supports --auto-correct Style/HashSyntax: Description: 'Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a => 1, :b => 2 }.' StyleGuide: "#hash-literals" Enabled: true EnforcedStyle: ruby19 SupportedStyles: - ruby19 - hash_rockets - no_mixed_keys - ruby19_no_mixed_keys UseHashRocketsWithSymbolValues: false PreferHashRocketsForNonAlnumEndingSymbols: false Style/IdenticalConditionalBranches: Description: Checks that conditional statements do not have an identical line at the end of each branch, which can validly be moved out of the conditional. Enabled: true Style/IfInsideElse: Description: Finds if nodes inside else, which can be converted to elsif. Enabled: true # Supports --auto-correct Style/IfUnlessModifier: Description: Favor modifier if/unless usage when you have a single-line body. StyleGuide: "#if-as-a-modifier" Enabled: true Style/IfUnlessModifierOfIfUnless: Description: Avoid modifier if/unless usage on conditionals. Enabled: true Style/IfWithSemicolon: Description: Do not use if x; .... Use the ternary operator instead. StyleGuide: "#no-semicolon-ifs" Enabled: true Style/ImplicitRuntimeError: Description: Use `raise` or `fail` with an explicit exception class and message, rather than just a message. Enabled: false # Supports --auto-correct Style/InfiniteLoop: Description: Use Kernel#loop for infinite loops. StyleGuide: "#infinite-loop" Enabled: true Style/InlineComment: Description: Avoid trailing inline comments. Enabled: false # Supports --auto-correct Style/InverseMethods: Description: Use the inverse method instead of `!.method` if an inverse method is defined. Enabled: true InverseMethods: :any?: :none? :even?: :odd? :==: :!= :=~: :!~ :<: :>= :>: :<= InverseBlocks: :select: :reject :select!: :reject! Style/IpAddresses: Description: Don't include literal IP addresses in code. Enabled: false Whitelist: - "::" # Supports --auto-correct Style/Lambda: Description: Use the new lambda literal syntax for single-line blocks. StyleGuide: "#lambda-multi-line" Enabled: true EnforcedStyle: line_count_dependent SupportedStyles: - line_count_dependent - lambda - literal # Supports --auto-correct Style/LambdaCall: Description: Use lambda.call(...) instead of lambda.(...). StyleGuide: "#proc-call" Enabled: true EnforcedStyle: call SupportedStyles: - call - braces # Supports --auto-correct Style/LineEndConcatenation: Description: Use \ instead of + or << to concatenate two string literals at line end. Enabled: true # Supports --auto-correct Style/MethodCallWithArgsParentheses: Description: Use parentheses for method calls with arguments. StyleGuide: "#method-invocation-parens" Enabled: false IgnoreMacros: true IgnoredMethods: [] # Supports --auto-correct Style/MethodCallWithoutArgsParentheses: Description: Do not use parentheses for method calls with no arguments. StyleGuide: "#method-invocation-parens" Enabled: true IgnoredMethods: [] Style/MethodCalledOnDoEndBlock: Description: Avoid chaining a method call on a do...end block. StyleGuide: "#single-line-blocks" Enabled: false # Supports --auto-correct Style/MethodDefParentheses: Description: Checks if the method definitions have or don't have parentheses. StyleGuide: "#method-parens" Enabled: true EnforcedStyle: require_parentheses SupportedStyles: - require_parentheses - require_no_parentheses - require_no_parentheses_except_multiline Style/MethodMissingSuper: Description: Checks for `method_missing` to call `super`. StyleGuide: "#no-method-missing" Enabled: true # Supports --auto-correct Style/MinMax: Description: Use `Enumerable#minmax` instead of `Enumerable#min` and `Enumerable#max` in conjunction.' Enabled: true Style/MissingElse: Description: Require if/case expressions to have an else branches. If enabled, it is recommended that Style/UnlessElse and Style/EmptyElse be enabled. This will conflict with Style/EmptyElse if Style/EmptyElse is configured to style "both" Enabled: false EnforcedStyle: both SupportedStyles: - if - case - both Style/MissingRespondToMissing: Description: Checks if `method_missing` is implemented without implementing `respond_to_missing`. StyleGuide: "#no-method-missing" Enabled: true # Supports --auto-correct Style/MixinGrouping: Description: Checks for grouping of mixins in `class` and `module` bodies. StyleGuide: "#mixin-grouping" Enabled: true EnforcedStyle: separated SupportedStyles: - separated - grouped Style/MixinUsage: Description: Checks that `include`, `extend` and `prepend` exists at the top level. Enabled: true # Supports --auto-correct Style/ModuleFunction: Description: Checks for usage of `extend self` in modules. StyleGuide: "#module-function" Enabled: true EnforcedStyle: module_function SupportedStyles: - module_function - extend_self Style/MultilineBlockChain: Description: Avoid multi-line chains of blocks. StyleGuide: "#single-line-blocks" Enabled: true # Supports --auto-correct Style/MultilineIfModifier: Description: Only use if/unless modifiers on single line statements. StyleGuide: "#no-multiline-if-modifiers" Enabled: true # Supports --auto-correct Style/MultilineIfThen: Description: Do not use then for multi-line if/unless. StyleGuide: "#no-then" Enabled: true # Supports --auto-correct Style/MultilineMemoization: Description: Wrap multiline memoizations in a `begin` and `end` block. Enabled: true EnforcedStyle: keyword SupportedStyles: - keyword - braces Style/MultilineMethodSignature: Description: Avoid multi-line method signatures. Enabled: false Style/MultilineTernaryOperator: Description: 'Avoid multi-line ?: (the ternary operator); use if/unless instead.' StyleGuide: "#no-multiline-ternary" Enabled: true Style/MultipleComparison: Description: Avoid comparing a variable with multiple items in a conditional, use Array#include? instead. Enabled: true # Supports --auto-correct Style/MutableConstant: Description: Do not assign mutable objects to constants. Enabled: true # Supports --auto-correct Style/NegatedIf: Description: Favor unless over if for negative conditions (or control flow or). StyleGuide: "#unless-for-negatives" Enabled: true EnforcedStyle: both SupportedStyles: - both - prefix - postfix # Supports --auto-correct Style/NegatedWhile: Description: Favor until over while for negative conditions. StyleGuide: "#until-for-negatives" Enabled: true # Supports --auto-correct Style/NestedModifier: Description: Avoid using nested modifiers. StyleGuide: "#no-nested-modifiers" Enabled: true # Supports --auto-correct Style/NestedParenthesizedCalls: Description: Parenthesize method calls which are nested inside the argument list of another parenthesized method call. Enabled: true Whitelist: - be - be_a - be_an - be_between - be_falsey - be_kind_of - be_instance_of - be_truthy - be_within - eq - eql - end_with - include - match - raise_error - respond_to - start_with Style/NestedTernaryOperator: Description: Use one expression per branch in a ternary operator. StyleGuide: "#no-nested-ternary" Enabled: true # Supports --auto-correct Style/Next: Description: Use `next` to skip iteration instead of a condition at the end. StyleGuide: "#no-nested-conditionals" Enabled: true EnforcedStyle: skip_modifier_ifs MinBodyLength: 3 SupportedStyles: - skip_modifier_ifs - always # Supports --auto-correct Style/NilComparison: Description: Prefer x.nil? to x == nil. StyleGuide: "#predicate-methods" Enabled: true EnforcedStyle: predicate SupportedStyles: - predicate - comparison # Supports --auto-correct Style/NonNilCheck: Description: Checks for redundant nil checks. StyleGuide: "#no-non-nil-checks" Enabled: true IncludeSemanticChanges: false # Supports --auto-correct Style/Not: Description: Use ! instead of not. StyleGuide: "#bang-not-not" Enabled: true # Supports --auto-correct Style/NumericLiteralPrefix: Description: Use smallcase prefixes for numeric literals. StyleGuide: "#numeric-literal-prefixes" Enabled: true EnforcedOctalStyle: zero_with_o SupportedOctalStyles: - zero_with_o - zero_only # Supports --auto-correct Style/NumericLiterals: Description: Add underscores to large numeric literals to improve their readability. StyleGuide: "#underscores-in-numerics" Enabled: true MinDigits: 5 Strict: false # Supports --auto-correct Style/NumericPredicate: Description: Checks for the use of predicate- or comparison methods for numeric comparisons. StyleGuide: "#predicate-methods" AutoCorrect: false Enabled: true EnforcedStyle: predicate SupportedStyles: - predicate - comparison IgnoredMethods: [] Exclude: - "/home/ken/everygit/cloudflare_cli/spec/**/*" # Supports --auto-correct Style/OneLineConditional: Description: Favor the ternary operator(?:) over if/then/else/end constructs. StyleGuide: "#ternary-operator" Enabled: true Style/OptionHash: Description: Don't use option hashes when you can use keyword arguments. Enabled: false SuspiciousParamNames: - options - opts - args - params - parameters Style/OptionalArguments: Description: Checks for optional arguments that do not appear at the end of the argument list StyleGuide: "#optional-arguments" Enabled: true # Supports --auto-correct Style/OrAssignment: Description: Recommend usage of double pipe equals (||=) where applicable. StyleGuide: "#double-pipe-for-uninit" Enabled: true # Supports --auto-correct Style/ParallelAssignment: Description: Check for simple usages of parallel assignment. It will only warn when the number of variables matches on both sides of the assignment. StyleGuide: "#parallel-assignment" Enabled: true # Supports --auto-correct Style/ParenthesesAroundCondition: Description: Don't use parentheses around the condition of an if/unless/while. StyleGuide: "#no-parens-around-condition" Enabled: true AllowSafeAssignment: true AllowInMultilineConditions: false # Supports --auto-correct Style/PercentLiteralDelimiters: Description: Use `%`-literal delimiters consistently StyleGuide: "#percent-literal-braces" Enabled: true PreferredDelimiters: default: "()" "%i": "[]" "%I": "[]" "%r": "{}" "%w": "[]" "%W": "[]" # Supports --auto-correct Style/PercentQLiterals: Description: Checks if uses of %Q/%q match the configured preference. Enabled: true EnforcedStyle: lower_case_q SupportedStyles: - lower_case_q - upper_case_q # Supports --auto-correct Style/PerlBackrefs: Description: Avoid Perl-style regex back references. StyleGuide: "#no-perl-regexp-last-matchers" Enabled: true # Supports --auto-correct Style/PreferredHashMethods: Description: Checks use of `has_key?` and `has_value?` Hash methods. StyleGuide: "#hash-key" Enabled: true EnforcedStyle: short SupportedStyles: - short - verbose # Supports --auto-correct Style/Proc: Description: Use proc instead of Proc.new. StyleGuide: "#proc" Enabled: true # Supports --auto-correct Style/RaiseArgs: Description: Checks the arguments passed to raise/fail. StyleGuide: "#exception-class-messages" Enabled: true EnforcedStyle: exploded SupportedStyles: - compact - exploded # Supports --auto-correct Style/RandomWithOffset: Description: Prefer to use ranges when generating random numbers instead of integers with offsets. StyleGuide: "#random-numbers" Enabled: true # Supports --auto-correct Style/RedundantBegin: Description: Don't use begin blocks when they are not needed. StyleGuide: "#begin-implicit" Enabled: true # Supports --auto-correct Style/RedundantConditional: Description: Don't return true/false from a conditional. Enabled: true # Supports --auto-correct Style/RedundantException: Description: Checks for an obsolete RuntimeException argument in raise/fail. StyleGuide: "#no-explicit-runtimeerror" Enabled: true # Supports --auto-correct Style/RedundantFreeze: Description: Checks usages of Object#freeze on immutable objects. Enabled: true # Supports --auto-correct Style/RedundantParentheses: Description: Checks for parentheses that seem not to serve any purpose. Enabled: true # Supports --auto-correct Style/RedundantReturn: Description: Don't use return where it's not required. StyleGuide: "#no-explicit-return" Enabled: true AllowMultipleReturnValues: false # Supports --auto-correct Style/RedundantSelf: Description: Don't use self where it's not needed. StyleGuide: "#no-self-unless-required" Enabled: true # Supports --auto-correct Style/RegexpLiteral: Description: Use / or %r around regular expressions. StyleGuide: "#percent-r" Enabled: true EnforcedStyle: slashes SupportedStyles: - slashes - percent_r - mixed AllowInnerSlashes: false # Supports --auto-correct Style/RescueModifier: Description: Avoid using rescue in its modifier form. StyleGuide: "#no-rescue-modifiers" Enabled: true # Supports --auto-correct Style/RescueStandardError: Description: Avoid rescuing without specifying an error class. Enabled: true EnforcedStyle: explicit SupportedStyles: - implicit - explicit # Supports --auto-correct Style/ReturnNil: Description: Use return instead of return nil. Enabled: false EnforcedStyle: return SupportedStyles: - return - return_nil # Supports --auto-correct Style/SafeNavigation: Description: This cop transforms usages of a method call safeguarded by a check for the existence of the object to safe navigation (`&.`). Enabled: true ConvertCodeThatCanStartToReturnNil: false Whitelist: - present? - blank? - presence - try - try! # Supports --auto-correct Style/SelfAssignment: Description: Checks for places where self-assignment shorthand should have been used. StyleGuide: "#self-assignment" Enabled: true # Supports --auto-correct Style/Semicolon: Description: Don't use semicolons to terminate expressions. StyleGuide: "#no-semicolon" Enabled: true AllowAsExpressionSeparator: false Style/Send: Description: Prefer `Object#__send__` or `Object#public_send` to `send`, as `send` may overlap with existing methods. StyleGuide: "#prefer-public-send" Enabled: false # Supports --auto-correct Style/SignalException: Description: Checks for proper usage of fail and raise. StyleGuide: "#prefer-raise-over-fail" Enabled: true EnforcedStyle: only_raise SupportedStyles: - only_raise - only_fail - semantic Style/SingleLineBlockParams: Description: Enforces the names of some block params. Enabled: false Methods: - reduce: - acc - elem - inject: - acc - elem # Supports --auto-correct Style/SingleLineMethods: Description: Avoid single-line methods. StyleGuide: "#no-single-line-methods" Enabled: true AllowIfMethodIsEmpty: true # Supports --auto-correct Style/SpecialGlobalVars: Description: Avoid Perl-style global variables. StyleGuide: "#no-cryptic-perlisms" Enabled: true EnforcedStyle: use_english_names SupportedStyles: - use_perl_names - use_english_names # Supports --auto-correct Style/StabbyLambdaParentheses: Description: Check for the usage of parentheses around stabby lambda arguments. StyleGuide: "#stabby-lambda-with-args" Enabled: true EnforcedStyle: require_parentheses SupportedStyles: - require_parentheses - require_no_parentheses # Supports --auto-correct Style/StderrPuts: Description: Use `warn` instead of `$stderr.puts`. StyleGuide: "#warn" Enabled: true # Supports --auto-correct Style/StringHashKeys: Description: Prefer symbols instead of strings as hash keys. StyleGuide: "#symbols-as-keys" Enabled: false # Supports --auto-correct Style/StringLiterals: Description: Checks if uses of quotes match the configured preference. StyleGuide: "#consistent-string-literals" Enabled: true EnforcedStyle: single_quotes SupportedStyles: - single_quotes - double_quotes ConsistentQuotesInMultiline: false # Supports --auto-correct Style/StringLiteralsInInterpolation: Description: Checks if uses of quotes inside expressions in interpolated strings match the configured preference. Enabled: true EnforcedStyle: single_quotes SupportedStyles: - single_quotes - double_quotes # Supports --auto-correct Style/StringMethods: Description: Checks if configured preferred methods are used over non-preferred. Enabled: false PreferredMethods: intern: to_sym Style/StructInheritance: Description: Checks for inheritance from Struct.new. StyleGuide: "#no-extend-struct-new" Enabled: true # Supports --auto-correct Style/SymbolArray: Description: Use %i or %I for arrays of symbols. StyleGuide: "#percent-i" Enabled: true EnforcedStyle: percent MinSize: 2 SupportedStyles: - percent - brackets # Supports --auto-correct Style/SymbolLiteral: Description: Use plain symbols instead of string symbols when possible. Enabled: true # Supports --auto-correct Style/SymbolProc: Description: Use symbols as procs instead of blocks when possible. Enabled: true IgnoredMethods: - respond_to - define_method # Supports --auto-correct Style/TernaryParentheses: Description: Checks for use of parentheses around ternary conditions. Enabled: true EnforcedStyle: require_no_parentheses SupportedStyles: - require_parentheses - require_no_parentheses - require_parentheses_when_complex AllowSafeAssignment: true # Supports --auto-correct Style/TrailingBodyOnClass: Description: Class body goes below class statement. Enabled: true # Supports --auto-correct Style/TrailingBodyOnMethodDefinition: Description: Method body goes below definition. Enabled: true # Supports --auto-correct Style/TrailingBodyOnModule: Description: Module body goes below module statement. Enabled: true # Supports --auto-correct Style/TrailingCommaInArguments: Description: Checks for trailing comma in argument lists. StyleGuide: "#no-trailing-params-comma" Enabled: true EnforcedStyleForMultiline: no_comma SupportedStylesForMultiline: - comma - consistent_comma - no_comma # Supports --auto-correct Style/TrailingCommaInArrayLiteral: Description: Checks for trailing comma in array literals. StyleGuide: "#no-trailing-array-commas" Enabled: true EnforcedStyleForMultiline: no_comma SupportedStylesForMultiline: - comma - consistent_comma - no_comma # Supports --auto-correct Style/TrailingCommaInHashLiteral: Description: Checks for trailing comma in hash literals. Enabled: true EnforcedStyleForMultiline: no_comma SupportedStylesForMultiline: - comma - consistent_comma - no_comma # Supports --auto-correct Style/TrailingMethodEndStatement: Description: Checks for trailing end statement on line of method body. Enabled: true # Supports --auto-correct Style/TrailingUnderscoreVariable: Description: Checks for the usage of unneeded trailing underscores at the end of parallel variable assignment. AllowNamedUnderscoreVariables: true Enabled: true # Supports --auto-correct Style/TrivialAccessors: Description: Prefer attr_* methods to trivial readers/writers. StyleGuide: "#attr_family" Enabled: true ExactNameMatch: true AllowPredicates: true AllowDSLWriters: false IgnoreClassMethods: false Whitelist: - to_ary - to_a - to_c - to_enum - to_h - to_hash - to_i - to_int - to_io - to_open - to_path - to_proc - to_r - to_regexp - to_str - to_s - to_sym # Supports --auto-correct Style/UnlessElse: Description: Do not use unless with else. Rewrite these with the positive case first. StyleGuide: "#no-else-with-unless" Enabled: true # Supports --auto-correct Style/UnneededCapitalW: Description: Checks for %W when interpolation is not needed. Enabled: true # Supports --auto-correct Style/UnneededCondition: Description: Checks for unnecessary conditional expressions. Enabled: true # Supports --auto-correct Style/UnneededInterpolation: Description: Checks for strings that are just an interpolated expression. Enabled: true # Supports --auto-correct Style/UnneededPercentQ: Description: Checks for %q/%Q when single quotes or double quotes would do. StyleGuide: "#percent-q" Enabled: true # Supports --auto-correct Style/UnpackFirst: Description: Checks for accessing the first element of `String#unpack` instead of using `unpack1` Enabled: true # Supports --auto-correct Style/VariableInterpolation: Description: Don't interpolate global, instance and class variables directly in strings. StyleGuide: "#curlies-interpolate" Enabled: true # Supports --auto-correct Style/WhenThen: Description: Use when x then ... for one-line cases. StyleGuide: "#one-line-cases" Enabled: true # Supports --auto-correct Style/WhileUntilDo: Description: Checks for redundant do after while or until. StyleGuide: "#no-multiline-while-do" Enabled: true # Supports --auto-correct Style/WhileUntilModifier: Description: Favor modifier while/until usage when you have a single-line body. StyleGuide: "#while-as-a-modifier" Enabled: true # Supports --auto-correct Style/WordArray: Description: Use %w or %W for arrays of words. StyleGuide: "#percent-w" Enabled: true EnforcedStyle: percent SupportedStyles: - percent - brackets MinSize: 2 WordRegex: !ruby/regexp /\A[\p{Word}\n\t]+\z/ # Supports --auto-correct Style/YodaCondition: Description: Do not use literals as the first operand of a comparison. Reference: https://en.wikipedia.org/wiki/Yoda_conditions Enabled: true EnforcedStyle: all_comparison_operators SupportedStyles: - all_comparison_operators - equality_operators_only # Supports --auto-correct Style/ZeroLengthPredicate: Description: 'Use #empty? when testing for objects of length 0.' Enabled: true