diff --git a/.rubocop.yml b/.rubocop.yml index 10a2da6ec..ce207c263 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,12 +1,20 @@ -TargetRubyVersion: "3.0" - AllCops: + TargetRubyVersion: "3.0" NewCops: enable #=============================================================================== # Layout #=============================================================================== +# We don't need empty lines in methods to separate "return if"s from later code. +Layout/EmptyLineAfterGuardClause: + Enabled: false + +# Extra whitespace often helps to make code more presentable. +Layout/ExtraSpacing: + AllowForAlignment: true + AllowBeforeTrailingComments: true + # In a hash with multiple values (one per line), prefer the => to be lined up # and text to otherwise be left-aligned. Layout/HashAlignment: @@ -67,6 +75,10 @@ Security/MarshalLoad: # Style #=============================================================================== +# List the attr_reader/writer/accessor variables however you want. +Style/AccessorGrouping: + Enabled: false + # Check with yard instead. Style/Documentation: Enabled: false @@ -84,6 +96,11 @@ Style/GlobalVars: Style/HashSyntax: EnforcedStyle: no_mixed_keys +# unless just adds mental gymnastics trying to figure out what it actually +# means. I much prefer if !something. +Style/NegatedIf: + Enabled: false + # has_key? and has_value? are far more readable than key? and value? Style/PreferredHashMethods: Enabled: false @@ -113,3 +130,8 @@ Style/StringLiterals: # no additional syntax to confuse people. Style/SymbolArray: EnforcedStyle: brackets + +# Patentheses around the condition in a ternary operator helps to differentiate +# it from the true/false results. +Style/TernaryParentheses: + EnforcedStyle: require_parentheses