Closed jonathanloos closed 5 months ago
This issue will be resolved when Hugo implements ahoy_email
while working on #14
Hey @hvillero !
Here's some inspo for the Rubocop config. You should know we would lean on standard, rubocop-rails, rubocop-performance and rubocop-rspec as well as some others (see require
) section of rubocop.yml.
And here's an example config if you want to use it!
inherit_from: .rubocop_todo.yml
######################################################################################################################
####################### CONFIG ############################
######################################################################################################################
require:
- rubocop-performance
- standard
- rubocop-rails
- rubocop-rspec
- rubocop-rspec_rails
- rubocop-factory_bot
- standard/cop/block_single_line_braces
AllCops:
# Prevent RuboCop from exploding when it finds an older-than-3.0 .ruby-version
TargetRubyVersion: 3.0
NewCops: enable
Rails:
Enabled: true # enable rubocop-rails cops
RSpec:
Enabled: true # enable rubocop-rspec cops
Standard:
Enabled: true
######################################################################################################################
####################### COPS ############################
######################################################################################################################
Bundler/DuplicatedGem:
Enabled: true
Bundler/GemComment:
Enabled: true
Bundler/GemFilename:
Enabled: true
Bundler/GemVersion:
Enabled: true
Bundler/InsecureProtocolSource:
Enabled: true
Bundler/OrderedGems:
Enabled: true
Gemspec/DeprecatedAttributeAssignment:
Enabled: true
Gemspec/DuplicatedAssignment:
Enabled: true
Gemspec/OrderedDependencies:
Enabled: true
Gemspec/RequiredRubyVersion:
Enabled: true
Gemspec/RubyVersionGlobalsUsage:
Enabled: true
Gemspec/RequireMFA:
Enabled: true
Layout/AccessModifierIndentation:
Enabled: true
EnforcedStyle: indent
IndentationWidth: ~
Layout/ArgumentAlignment:
Enabled: true
EnforcedStyle: with_fixed_indentation
Layout/ArrayAlignment:
Enabled: true
EnforcedStyle: with_fixed_indentation
Layout/AssignmentIndentation:
Enabled: true
IndentationWidth: ~
Layout/BeginEndAlignment:
Enabled: true
EnforcedStyleAlignWith: start_of_line
AutoCorrect: true
Severity: warning
Layout/BlockAlignment:
Enabled: true
EnforcedStyleAlignWith: either
Layout/BlockEndNewline:
Enabled: true
Layout/CaseIndentation:
Enabled: true
Layout/ClassStructure:
Enabled: false
Layout/ClosingHeredocIndentation:
Enabled: true
Layout/ClosingParenthesisIndentation:
Enabled: true
Layout/CommentIndentation:
Enabled: true
Layout/ConditionPosition:
Enabled: true
Layout/DefEndAlignment:
Enabled: true
EnforcedStyleAlignWith: start_of_line
AutoCorrect: true
Severity: warning
Layout/DotPosition:
Enabled: true
EnforcedStyle: leading
Layout/ElseAlignment:
Enabled: true
Layout/EmptyComment:
Enabled: true
AllowBorderComment: true
AllowMarginComment: true
Layout/EmptyLineAfterGuardClause:
Enabled: true
Layout/EmptyLineAfterMagicComment:
Enabled: true
Layout/EmptyLineAfterMultilineCondition:
Enabled: true
Layout/EmptyLineBetweenDefs:
Enabled: true
AllowAdjacentOneLineDefs: false
NumberOfEmptyLines: 1
Layout/EmptyLines:
Enabled: true
Layout/EmptyLinesAroundAccessModifier:
Enabled: true
Layout/EmptyLinesAroundArguments:
Enabled: true
Layout/EmptyLinesAroundAttributeAccessor:
Enabled: true
Layout/EmptyLinesAroundBeginBody:
Enabled: true
Layout/EmptyLinesAroundBlockBody:
Enabled: true
EnforcedStyle: no_empty_lines
Layout/EmptyLinesAroundClassBody:
Enabled: true
EnforcedStyle: no_empty_lines
Layout/EmptyLinesAroundExceptionHandlingKeywords:
Enabled: true
Layout/EmptyLinesAroundMethodBody:
Enabled: true
Layout/EmptyLinesAroundModuleBody:
Enabled: true
EnforcedStyle: no_empty_lines
Layout/EndAlignment:
Enabled: true
AutoCorrect: true
EnforcedStyleAlignWith: variable
Severity: warning
Layout/EndOfLine:
Enabled: true
EnforcedStyle: native
Layout/ExtraSpacing:
Enabled: true
AllowForAlignment: false
AllowBeforeTrailingComments: false
ForceEqualSignAlignment: false
Layout/FirstArgumentIndentation:
Enabled: true
EnforcedStyle: consistent
IndentationWidth: ~
Layout/FirstArrayElementIndentation:
Enabled: true
EnforcedStyle: consistent
IndentationWidth: ~
Layout/FirstArrayElementLineBreak:
Enabled: true
Layout/FirstHashElementIndentation:
Enabled: true
EnforcedStyle: consistent
IndentationWidth: ~
Layout/FirstHashElementLineBreak:
Enabled: false
Layout/FirstMethodArgumentLineBreak:
Enabled: true
Layout/FirstMethodParameterLineBreak:
Enabled: true
Layout/FirstParameterIndentation:
Enabled: true
Layout/HashAlignment:
Enabled: true
EnforcedHashRocketStyle: key
EnforcedColonStyle: key
EnforcedLastArgumentHashStyle: always_inspect
Layout/HeredocArgumentClosingParenthesis:
Enabled: true
Layout/HeredocIndentation:
Enabled: true
Layout/IndentationConsistency:
Enabled: true
EnforcedStyle: normal
Layout/IndentationStyle:
Enabled: true
IndentationWidth: ~
Layout/IndentationWidth:
Enabled: true
Width: 2
Layout/InitialIndentation:
Enabled: true
Layout/LeadingCommentSpace:
Enabled: true
Layout/LeadingEmptyLines:
Enabled: true
Layout/LineEndStringConcatenationIndentation:
Enabled: false
Layout/LineLength:
Enabled: false
Layout/MultilineArrayBraceLayout:
Enabled: true
EnforcedStyle: symmetrical
Layout/MultilineArrayLineBreaks:
Enabled: true
Layout/MultilineAssignmentLayout:
Enabled: true
EnforcedStyle: same_line
Layout/MultilineBlockLayout:
Enabled: true
Layout/MultilineHashBraceLayout:
Enabled: true
EnforcedStyle: symmetrical
Layout/MultilineHashKeyLineBreaks:
Enabled: false
Layout/MultilineMethodArgumentLineBreaks:
Enabled: true
Layout/MultilineMethodCallBraceLayout:
Enabled: true
EnforcedStyle: symmetrical
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
IndentationWidth: ~
Layout/MultilineMethodDefinitionBraceLayout:
Enabled: true
EnforcedStyle: symmetrical
Layout/MultilineOperationIndentation:
Enabled: true
EnforcedStyle: indented
IndentationWidth: ~
Layout/ParameterAlignment:
Enabled: true
EnforcedStyle: with_fixed_indentation
IndentationWidth: ~
Layout/RedundantLineBreak:
Enabled: false
Layout/RescueEnsureAlignment:
Enabled: true
Layout/SingleLineBlockChain:
Enabled: false
Layout/SpaceAfterColon:
Enabled: true
Layout/SpaceAfterComma:
Enabled: true
Layout/SpaceAfterMethodName:
Enabled: true
Layout/SpaceAfterNot:
Enabled: true
Layout/SpaceAfterSemicolon:
Enabled: true
Layout/SpaceAroundBlockParameters:
Enabled: true
EnforcedStyleInsidePipes: no_space
Layout/SpaceAroundEqualsInParameterDefault:
Enabled: true
EnforcedStyle: space
Layout/SpaceAroundKeyword:
Enabled: true
Layout/SpaceAroundMethodCallOperator:
Enabled: true
Layout/SpaceAroundOperators:
Enabled: true
AllowForAlignment: true
Layout/SpaceBeforeBlockBraces:
Enabled: true
EnforcedStyle: space
EnforcedStyleForEmptyBraces: space
Layout/SpaceBeforeBrackets:
Enabled: false
Layout/SpaceBeforeComma:
Enabled: true
Layout/SpaceBeforeComment:
Enabled: true
Layout/SpaceBeforeFirstArg:
Enabled: true
AllowForAlignment: true
Layout/SpaceBeforeSemicolon:
Enabled: true
Layout/SpaceInLambdaLiteral:
Enabled: true
EnforcedStyle: require_no_space
Layout/SpaceInsideArrayLiteralBrackets:
Enabled: true
EnforcedStyle: no_space
EnforcedStyleForEmptyBrackets: no_space
Layout/SpaceInsideArrayPercentLiteral:
Enabled: true
Layout/SpaceInsideBlockBraces:
Enabled: true
EnforcedStyle: space
EnforcedStyleForEmptyBraces: no_space
SpaceBeforeBlockParameters: true
Layout/SpaceInsideHashLiteralBraces:
Enabled: false
EnforcedStyle: no_space
EnforcedStyleForEmptyBraces: no_space
Layout/SpaceInsideParens:
Enabled: true
EnforcedStyle: no_space
Layout/SpaceInsidePercentLiteralDelimiters:
Enabled: true
Layout/SpaceInsideRangeLiteral:
Enabled: true
Layout/SpaceInsideReferenceBrackets:
Enabled: true
EnforcedStyle: no_space
EnforcedStyleForEmptyBrackets: no_space
Layout/SpaceInsideStringInterpolation:
Enabled: true
EnforcedStyle: no_space
Layout/TrailingEmptyLines:
Enabled: true
EnforcedStyle: final_newline
Layout/TrailingWhitespace:
Enabled: true
AllowInHeredoc: true
Lint/AmbiguousAssignment:
Enabled: true
Lint/AmbiguousBlockAssociation:
Enabled: false
Lint/AmbiguousOperator:
Enabled: true
Lint/AmbiguousOperatorPrecedence:
Enabled: false
Lint/AmbiguousRange:
Enabled: false
Lint/AmbiguousRegexpLiteral:
Enabled: true
Lint/AssignmentInCondition:
Enabled: true
AllowSafeAssignment: true
Lint/BigDecimalNew:
Enabled: true
Lint/BinaryOperatorWithIdenticalOperands:
Enabled: true
Lint/BooleanSymbol:
Enabled: true
Lint/CircularArgumentReference:
Enabled: true
Lint/ConstantDefinitionInBlock:
Enabled: true
Lint/ConstantResolution:
Enabled: false
Lint/Debugger:
Enabled: true
Lint/DeprecatedClassMethods:
Enabled: true
Lint/DeprecatedConstants:
Enabled: true
Lint/DeprecatedOpenSSLConstant:
Enabled: true
Lint/DisjunctiveAssignmentInConstructor:
Enabled: false
Lint/DuplicateBranch:
Enabled: false
Lint/DuplicateCaseCondition:
Enabled: true
Lint/DuplicateElsifCondition:
Enabled: true
Lint/DuplicateHashKey:
Enabled: true
Lint/DuplicateMethods:
Enabled: true
Lint/DuplicateRegexpCharacterClassElement:
Enabled: true
Lint/DuplicateRequire:
Enabled: true
Lint/DuplicateRescueException:
Enabled: true
Lint/EachWithObjectArgument:
Enabled: true
Lint/ElseLayout:
Enabled: true
Lint/EmptyBlock:
Enabled: false
Lint/EmptyClass:
Enabled: false
Lint/EmptyConditionalBody:
Enabled: false
Lint/EmptyEnsure:
Enabled: true
AutoCorrect: true
Lint/EmptyExpression:
Enabled: true
Lint/EmptyFile:
Enabled: false
Lint/EmptyInPattern:
Enabled: false
Lint/EmptyInterpolation:
Enabled: true
Lint/EmptyWhen:
Enabled: true
AllowComments: true
Lint/EnsureReturn:
Enabled: true
Lint/ErbNewArguments:
Enabled: true
Lint/FlipFlop:
Enabled: true
Lint/FloatComparison:
Enabled: true
Lint/FloatOutOfRange:
Enabled: true
Lint/FormatParameterMismatch:
Enabled: true
Lint/HashCompareByIdentity:
Enabled: false
Lint/HeredocMethodCallPosition:
Enabled: false
Lint/IdentityComparison:
Enabled: true
Lint/ImplicitStringConcatenation:
Enabled: true
Lint/IneffectiveAccessModifier:
Enabled: true
Lint/InheritException:
Enabled: true
EnforcedStyle: runtime_error
Lint/InterpolationCheck:
Enabled: true
Lint/LambdaWithoutLiteralBlock:
Enabled: false
Lint/LiteralAsCondition:
Enabled: true
Lint/LiteralInInterpolation:
Enabled: true
Lint/Loop:
Enabled: true
Lint/MissingCopEnableDirective:
Enabled: true
MaximumRangeSize: .inf
Lint/MissingSuper:
Enabled: false
Lint/MixedRegexpCaptureTypes:
Enabled: true
Lint/MultipleComparison:
Enabled: true
Lint/NestedMethodDefinition:
Enabled: true
Lint/NestedPercentLiteral:
Enabled: true
Lint/NextWithoutAccumulator:
Enabled: true
Lint/NoReturnInBeginEndBlocks:
Enabled: false
Lint/NonAtomicFileOperation:
Enabled: false
Lint/NonDeterministicRequireOrder:
Enabled: true
Lint/NonLocalExitFromIterator:
Enabled: true
Lint/NumberConversion:
Enabled: false
Lint/NumberedParameterAssignment:
Enabled: true
Lint/OrAssignmentToConstant:
Enabled: true
Lint/OrderedMagicComments:
Enabled: true
Lint/OutOfRangeRegexpRef:
Enabled: true
Lint/ParenthesesAsGroupedExpression:
Enabled: true
Lint/PercentStringArray:
Enabled: false
Lint/PercentSymbolArray:
Enabled: true
Lint/RaiseException:
Enabled: true
Lint/RandOne:
Enabled: true
Lint/RedundantCopDisableDirective:
Enabled: true
Lint/RedundantCopEnableDirective:
Enabled: false
Lint/RedundantDirGlobSort:
Enabled: false
Lint/RedundantRequireStatement:
Enabled: true
Lint/RedundantSafeNavigation:
Enabled: false
Lint/RedundantSplatExpansion:
Enabled: true
Lint/RedundantStringCoercion:
Enabled: true
Lint/RedundantWithIndex:
Enabled: true
Lint/RedundantWithObject:
Enabled: true
Lint/RegexpAsCondition:
Enabled: true
Lint/RequireParentheses:
Enabled: true
Lint/RescueException:
Enabled: true
Lint/RescueType:
Enabled: true
Lint/ReturnInVoidContext:
Enabled: true
Lint/SafeNavigationChain:
Enabled: true
AllowedMethods:
- present?
- blank?
- presence
- try
- try!
Lint/SafeNavigationConsistency:
Enabled: true
AllowedMethods:
- present?
- blank?
- presence
- try
- try!
Lint/SafeNavigationWithEmpty:
Enabled: true
Lint/ScriptPermission:
Enabled: false
Lint/SelfAssignment:
Enabled: true
Lint/SendWithMixinArgument:
Enabled: false
Lint/ShadowedArgument:
Enabled: true
IgnoreImplicitReferences: false
Lint/ShadowedException:
Enabled: true
Lint/ShadowingOuterLocalVariable:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Lint/SuppressedException:
Enabled: true
Lint/SymbolConversion:
Enabled: true
Lint/Syntax:
Enabled: true
Lint/ToEnumArguments:
Enabled: true
Lint/ToJSON:
Enabled: true
Lint/TopLevelReturnWithArgument:
Enabled: true
Lint/TrailingCommaInAttributeDeclaration:
Enabled: true
Lint/TripleQuotes:
Enabled: true
Lint/UnderscorePrefixedVariableName:
Enabled: true
Lint/UnexpectedBlockArity:
Enabled: false
Lint/UnifiedInteger:
Enabled: true
Lint/UnmodifiedReduceAccumulator:
Enabled: true
Lint/UnreachableCode:
Enabled: true
Lint/UnreachableLoop:
Enabled: true
Lint/UnusedBlockArgument:
Enabled: true
Lint/UnusedMethodArgument:
Enabled: true
Lint/UriEscapeUnescape:
Enabled: true
Lint/UriRegexp:
Enabled: true
Lint/UselessAccessModifier:
Enabled: true
Lint/UselessAssignment:
Enabled: true
Lint/UselessMethodDefinition:
Enabled: true
Lint/UselessRescue:
Enabled: false
Lint/UselessSetterCall:
Enabled: true
Lint/UselessTimes:
Enabled: true
Lint/Void:
Enabled: true
CheckForMethodsWithNoSideEffects: false
Lint/IncompatibleIoSelectWithFiberScheduler:
Enabled: true
Lint/RequireRelativeSelfPath:
Enabled: true
Lint/UselessRuby2Keywords:
Enabled: true
Metrics/AbcSize:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/BlockNesting:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
Metrics/ParameterLists:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
Metrics/CollectionLiteralLength:
Enabled: false
Migration/DepartmentName:
Enabled: true
Naming/AccessorMethodName:
Enabled: true
Naming/AsciiIdentifiers:
Enabled: true
Naming/BinaryOperatorParameterName:
Enabled: true
Naming/BlockParameterName:
Enabled: true
MinNameLength: 1
AllowNamesEndingInNumbers: true
AllowedNames: []
ForbiddenNames: []
Naming/ClassAndModuleCamelCase:
Enabled: true
Naming/ConstantName:
Enabled: true
Naming/FileName:
Enabled: true
Naming/HeredocDelimiterCase:
Enabled: true
EnforcedStyle: uppercase
Naming/HeredocDelimiterNaming:
Enabled: true
Naming/InclusiveLanguage:
Enabled: false
Naming/MemoizedInstanceVariableName:
Enabled: false
Naming/MethodName:
Enabled: true
Naming/MethodParameterName:
Enabled: true
AllowedNames: [to, cc]
Naming/PredicateName:
Enabled: true
Naming/RescuedExceptionsVariableName:
Enabled: true
Naming/VariableName:
Enabled: true
EnforcedStyle: snake_case
Naming/VariableNumber:
Enabled: true
EnforcedStyle: snake_case
AllowedIdentifiers: [S1, S2, S3, CPO2, CPO1, PO2, PO1, v1, v2]
AllowedPatterns: ['GMT[\d\+-]', 'k1017', 'base64']
Naming/BlockForwarding:
Enabled: true
Performance/AncestorsInclude:
Enabled: false
Performance/ArraySemiInfiniteRangeSlice:
Enabled: false
Performance/BigDecimalWithNumericArgument:
Enabled: true
Performance/BindCall:
Enabled: true
Performance/BlockGivenWithExplicitBlock:
Enabled: true
Performance/Caller:
Enabled: true
Performance/CaseWhenSplat:
Enabled: false
Performance/Casecmp:
Enabled: false
Performance/ChainArrayAllocation:
Enabled: true
Performance/CollectionLiteralInLoop:
Enabled: true
Performance/CompareWithBlock:
Enabled: true
Performance/ConstantRegexp:
Enabled: true
Performance/Count:
Enabled: true
Performance/DeletePrefix:
Enabled: false
Performance/DeleteSuffix:
Enabled: false
Performance/Detect:
Enabled: true
Performance/DoubleStartEndWith:
Enabled: true
IncludeActiveSupportAliases: false
Performance/EndWith:
Enabled: true
Performance/FixedSize:
Enabled: true
Performance/FlatMap:
Enabled: true
EnabledForFlattenWithoutParams: false
Performance/InefficientHashSearch:
Enabled: true
Safe: false
Performance/IoReadlines:
Enabled: true
Performance/MapCompact:
Enabled: false
Performance/MethodObjectAsBlock:
Enabled: true
Performance/OpenStruct:
Enabled: false
Performance/RangeInclude:
Enabled: true
Safe: false
Performance/RedundantBlockCall:
Enabled: true
Performance/RedundantEqualityComparisonBlock:
Enabled: false
Performance/RedundantMatch:
Enabled: true
Performance/RedundantMerge:
Enabled: true
MaxKeyValuePairs: 2
Performance/RedundantSortBlock:
Enabled: true
Performance/RedundantSplitRegexpArgument:
Enabled: true
Performance/RedundantStringChars:
Enabled: true
Performance/RegexpMatch:
Enabled: true
Performance/ReverseEach:
Enabled: true
Performance/ReverseFirst:
Enabled: true
Performance/SelectMap:
Enabled: true
Performance/Size:
Enabled: true
Performance/SortReverse:
Enabled: true
Performance/Squeeze:
Enabled: true
Performance/StartWith:
Enabled: true
Performance/StringInclude:
Enabled: false
Performance/StringReplacement:
Enabled: true
Performance/Sum:
Enabled: false
Performance/TimesMap:
Enabled: false
Performance/UnfreezeString:
Enabled: true
Performance/UriDefaultParser:
Enabled: true
Performance/ConcurrentMonotonicTime:
Enabled: true
Performance/StringIdentifierArgument:
Enabled: true
Rails/ApplicationController:
Enabled: false
Rails/FindBy:
Enabled: false
Rails/FindEach:
Enabled: false
Rails/WhereNotWithMultipleConditions:
Enabled: false
Rails/TimeZone:
Enabled: true
RSpec/EmptyExampleGroup:
Enabled: false
RSpec/ExampleLength:
Enabled: false
RSpec/SpecFilePathFormat:
Enabled: true
RSpec/SpecFilePathSuffix:
Enabled: true
RSpec/IndexedLet:
Enabled: false
RSpec/MatchArray:
Enabled: false
RSpec/MissingExampleGroupArgument:
Enabled: false
Security/Eval:
Enabled: true
Security/JSONLoad:
Enabled: true
AutoCorrect: false
SafeAutoCorrect: false
Security/MarshalLoad:
Enabled: true
Security/Open:
Enabled: true
Safe: false
Security/YAMLLoad:
Enabled: true
SafeAutoCorrect: false
Security/IoMethods:
Enabled: true
Safe: false
Standard/BlockSingleLineBraces:
Enabled: true
Style/AccessModifierDeclarations:
Enabled: false
Style/AccessorGrouping:
Enabled: true
Style/Alias:
Enabled: true
EnforcedStyle: prefer_alias_method
Style/AndOr:
Enabled: true
Style/ArgumentsForwarding:
Enabled: true
AllowOnlyRestArgument: true
Style/ArrayCoercion:
Enabled: false
Style/ArrayJoin:
Enabled: true
Style/AsciiComments:
Enabled: false
Style/Attr:
Enabled: true
Style/AutoResourceCleanup:
Enabled: true
Style/BarePercentLiterals:
Enabled: true
EnforcedStyle: bare_percent
Style/BeginBlock:
Enabled: true
Style/BisectedAttrAccessor:
Enabled: true
Style/BlockComments:
Enabled: true
Style/BlockDelimiters:
Enabled: true
Style/CaseEquality:
Enabled: false
Style/CaseLikeIf:
Enabled: false
Style/CharacterLiteral:
Enabled: true
Style/ClassAndModuleChildren:
Enabled: false
Style/ClassCheck:
Enabled: true
EnforcedStyle: is_a?
Style/ClassEqualityComparison:
Enabled: true
Style/ClassMethods:
Enabled: true
Style/ClassMethodsDefinitions:
Enabled: true
Style/ClassVars:
Enabled: true
Style/CollectionCompact:
Enabled: false
Style/CollectionMethods:
Enabled: false
Style/ColonMethodCall:
Enabled: true
Style/ColonMethodDefinition:
Enabled: true
Style/CombinableLoops:
Enabled: false
Style/CommandLiteral:
Enabled: true
EnforcedStyle: mixed
AllowInnerBackticks: false
Style/CommentAnnotation:
Enabled: false
Style/CommentedKeyword:
Enabled: false
Style/ConditionalAssignment:
Enabled: true
EnforcedStyle: assign_to_condition
SingleLineConditionsOnly: true
IncludeTernaryExpressions: true
Style/ConstantVisibility:
Enabled: false
Style/Copyright:
Enabled: false
Style/DateTime:
Enabled: false
Style/DefWithParentheses:
Enabled: true
Style/Dir:
Enabled: true
Style/DisableCopsWithinSourceCodeDirective:
Enabled: false
Style/DocumentDynamicEvalDefinition:
Enabled: false
Style/Documentation:
Enabled: false
Style/DocumentationMethod:
Enabled: false
Style/DoubleCopDisableDirective:
Enabled: true
Style/DoubleNegation:
Enabled: false
Style/EachForSimpleLoop:
Enabled: true
Style/EachWithObject:
Enabled: true
Style/EmptyBlockParameter:
Enabled: true
Style/EmptyCaseCondition:
Enabled: true
Style/EmptyElse:
Enabled: true
EnforcedStyle: both
Style/EmptyLambdaParameter:
Enabled: true
Style/EmptyLiteral:
Enabled: true
Style/EmptyMethod:
Enabled: true
EnforcedStyle: expanded
Style/Encoding:
Enabled: true
Style/EndBlock:
Enabled: true
AutoCorrect: true
Style/EndlessMethod:
Enabled: true
Style/EvalWithLocation:
Enabled: true
Style/EvenOdd:
Enabled: true
Style/ExpandPathArguments:
Enabled: true
Style/ExplicitBlockArgument:
Enabled: true
Style/ExponentialNotation:
Enabled: true
Style/FloatDivision:
Enabled: false
Style/For:
Enabled: true
EnforcedStyle: each
Style/FormatString:
Enabled: false
Style/FormatStringToken:
Enabled: true
Style/FrozenStringLiteralComment:
Enabled: false
Style/GlobalStdStream:
Enabled: true
Style/GlobalVars:
Enabled: true
AllowedVariables: []
Style/GuardClause:
Enabled: false
Style/HashAsLastArrayItem:
Enabled: true
Style/HashConversion:
Enabled: true
Style/HashEachMethods:
Enabled: false
Style/HashExcept:
Enabled: true
Style/HashLikeCase:
Enabled: true
Style/HashSyntax:
Enabled: true
EnforcedStyle: ruby19_no_mixed_keys
EnforcedShorthandSyntax: either
Style/HashTransformKeys:
Enabled: false
Style/HashTransformValues:
Enabled: false
Style/IdenticalConditionalBranches:
Enabled: true
Style/IfInsideElse:
Enabled: true
Style/IfUnlessModifier:
Enabled: true
Style/IfUnlessModifierOfIfUnless:
Enabled: true
Style/IfWithBooleanLiteralBranches:
Enabled: true
Style/IfWithSemicolon:
Enabled: true
Style/ImplicitRuntimeError:
Enabled: false
Style/InPatternThen:
Enabled: true
Style/InfiniteLoop:
Enabled: true
Style/InlineComment:
Enabled: false
Style/InverseMethods:
Enabled: false
Style/IpAddresses:
Enabled: true
Style/KeywordParametersOrder:
Enabled: true
Style/Lambda:
Enabled: false
Style/LambdaCall:
Enabled: true
EnforcedStyle: call
Style/LineEndConcatenation:
Enabled: true
SafeAutoCorrect: false
Style/MethodCallWithArgsParentheses:
Enabled: true
Style/MethodCallWithoutArgsParentheses:
Enabled: true
Style/MethodCalledOnDoEndBlock:
Enabled: false
Style/MethodDefParentheses:
Enabled: true
Style/MinMax:
Enabled: true
Style/MissingElse:
Enabled: false
Style/MissingRespondToMissing:
Enabled: true
Style/MixinGrouping:
Enabled: true
EnforcedStyle: separated
Style/MixinUsage:
Enabled: true
Style/ModuleFunction:
Enabled: false
Style/MultilineBlockChain:
Enabled: true
Style/MultilineIfModifier:
Enabled: true
Style/MultilineIfThen:
Enabled: true
Style/MultilineInPatternThen:
Enabled: true
Style/MultilineMemoization:
Enabled: true
EnforcedStyle: keyword
Style/MultilineMethodSignature:
Enabled: true
Style/MultilineTernaryOperator:
Enabled: true
Style/MultilineWhenThen:
Enabled: true
Style/MultipleComparison:
Enabled: true
Style/MutableConstant:
Enabled: false
Style/NegatedIf:
Enabled: true
Style/NegatedIfElseCondition:
Enabled: true
Style/NegatedUnless:
Enabled: true
Style/NegatedWhile:
Enabled: true
Style/NestedModifier:
Enabled: true
Style/NestedParenthesizedCalls:
Enabled: true
AllowedMethods:
- 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:
Enabled: true
Style/Next:
Enabled: true
Style/NilComparison:
Enabled: true
EnforcedStyle: predicate
Style/NilLambda:
Enabled: true
Style/NonNilCheck:
Enabled: true
IncludeSemanticChanges: false
Style/Not:
Enabled: true
Style/NumericLiteralPrefix:
Enabled: true
EnforcedOctalStyle: zero_with_o
Style/NumericLiterals:
Enabled: true
Style/NumericPredicate:
Enabled: false
Style/OneLineConditional:
Enabled: true
Style/OptionHash:
Enabled: false
Style/OptionalArguments:
Enabled: true
Style/OptionalBooleanParameter:
Enabled: false
Style/OrAssignment:
Enabled: true
Style/ParallelAssignment:
Enabled: true
Style/ParenthesesAroundCondition:
Enabled: true
AllowSafeAssignment: true
AllowInMultilineConditions: false
Style/PercentLiteralDelimiters:
Enabled: true
PreferredDelimiters:
default: ()
"%i": "[]"
"%I": "[]"
"%r": "{}"
"%w": "[]"
"%W": "[]"
Style/PercentQLiterals:
Enabled: true
Style/PerlBackrefs:
Enabled: true
Style/PreferredHashMethods:
Enabled: false
Style/Proc:
Enabled: true
Style/QuotedSymbols:
Enabled: true
Style/RaiseArgs:
Enabled: true
Style/RandomWithOffset:
Enabled: true
Style/RedundantArgument:
Enabled: false
Style/RedundantAssignment:
Enabled: true
Style/RedundantBegin:
Enabled: true
Style/RedundantCapitalW:
Enabled: true
Style/RedundantCondition:
Enabled: true
Style/RedundantConditional:
Enabled: true
Style/RedundantException:
Enabled: true
Style/RedundantFetchBlock:
Enabled: true
Style/RedundantFileExtensionInRequire:
Enabled: true
Style/RedundantFreeze:
Enabled: true
Style/RedundantInterpolation:
Enabled: true
Style/RedundantParentheses:
Enabled: true
Style/RedundantPercentQ:
Enabled: true
Style/RedundantRegexpCharacterClass:
Enabled: true
Style/RedundantRegexpEscape:
Enabled: true
Style/RedundantReturn:
Enabled: true
AllowMultipleReturnValues: false
Style/RedundantSelf:
Enabled: true
Style/RedundantSelfAssignment:
Enabled: false
Style/RedundantSelfAssignmentBranch:
Enabled: true
Style/RedundantSort:
Enabled: true
Style/RedundantSortBy:
Enabled: true
Style/RegexpLiteral:
Enabled: true
Style/RescueModifier:
Enabled: true
Style/RescueStandardError:
Enabled: true
EnforcedStyle: implicit
Style/ReturnNil:
Enabled: true
Style/SafeNavigation:
Enabled: false
ConvertCodeThatCanStartToReturnNil: false
AllowedMethods:
- present?
- blank?
- presence
- try
- try!
Style/Sample:
Enabled: true
Style/SelfAssignment:
Enabled: true
Style/Semicolon:
Enabled: true
AllowAsExpressionSeparator: false
Style/Send:
Enabled: false
Style/SignalException:
Enabled: true
Style/SingleArgumentDig:
Enabled: false
Style/SingleLineBlockParams:
Enabled: false
Style/SingleLineMethods:
Enabled: true
AllowIfMethodIsEmpty: false
Style/SlicingWithRange:
Enabled: false
Style/SoleNestedConditional:
Enabled: true
Style/SpecialGlobalVars:
Enabled: true
Style/StabbyLambdaParentheses:
Enabled: true
EnforcedStyle: require_parentheses
Style/StaticClass:
Enabled: false
Style/StderrPuts:
Enabled: true
Style/StringChars:
Enabled: true
Style/StringConcatenation:
Enabled: false
Style/StringHashKeys:
Enabled: false
Style/StringLiterals:
Enabled: true
EnforcedStyle: double_quotes
ConsistentQuotesInMultiline: false
Style/StringLiteralsInInterpolation:
Enabled: true
EnforcedStyle: double_quotes
Style/StringMethods:
Enabled: true
Style/Strip:
Enabled: true
Style/StructInheritance:
Enabled: false
Style/SwapValues:
Enabled: false
Style/SymbolArray:
Enabled: true
Style/SymbolLiteral:
Enabled: true
Style/SymbolProc:
Enabled: false
Style/TernaryParentheses:
Enabled: true
EnforcedStyle: require_parentheses_when_complex
AllowSafeAssignment: true
Style/TopLevelMethodDefinition:
Enabled: true
Style/TrailingBodyOnClass:
Enabled: true
Style/TrailingBodyOnMethodDefinition:
Enabled: true
Style/TrailingBodyOnModule:
Enabled: true
Style/TrailingCommaInArguments:
Enabled: true
EnforcedStyleForMultiline: no_comma
Style/TrailingCommaInArrayLiteral:
Enabled: true
EnforcedStyleForMultiline: no_comma
Style/TrailingCommaInBlockArgs:
Enabled: true
Style/TrailingCommaInHashLiteral:
Enabled: true
EnforcedStyleForMultiline: no_comma
Style/TrailingMethodEndStatement:
Enabled: true
Style/TrailingUnderscoreVariable:
Enabled: true
Style/TrivialAccessors:
Enabled: true
ExactNameMatch: true
AllowPredicates: true
AllowDSLWriters: false
IgnoreClassMethods: false
AllowedMethods:
- 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
Style/UnlessElse:
Enabled: true
Style/UnlessLogicalOperators:
Enabled: false
Style/UnpackFirst:
Enabled: true
Style/VariableInterpolation:
Enabled: true
Style/WhenThen:
Enabled: true
Style/WhileUntilDo:
Enabled: true
Style/WhileUntilModifier:
Enabled: true
Style/WordArray:
Enabled: true
Style/YodaCondition:
Enabled: true
EnforcedStyle: forbid_for_all_comparison_operators
Style/ZeroLengthPredicate:
Enabled: false
Style/NumberedParameters:
Enabled: false
Style/NumberedParametersLimit:
Enabled: false
Style/SelectByRegexp:
Enabled: false
Style/OpenStructUse:
Enabled: false
Style/MapToHash:
Enabled: false
Style/FileWrite:
Enabled: true
Style/FileRead:
Enabled: true
Style/RedundantConstantBase:
Enabled: false
Style/RedundantFilterChain:
Enabled: false
FactoryBot/FactoryAssociationWithStrategy:
Enabled: false
FactoryBot/AssociationStyle:
Enabled: false
@hvillero are you able to update the ticket to include that you've added Rubocop? It's a bit nicer for traceability
We should use ahoy for event tracking. Specifically: