require: - rubocop-rubycw - rubocop-rake - rubocop-rspec - rubocop-rails - rubocop-performance AllCops: NewCops: enable TargetRubyVersion: 3.1 DisplayCopNames: true CacheRootDirectory: tmp/cache/rubocop Bundler: Enabled: false Rails: Enabled: false Naming: Enabled: false Metrics/BlockNesting: Enabled: false Metrics/ClassLength: Enabled: false Layout/LineLength: Enabled: false Metrics/MethodLength: Enabled: false Metrics/BlockLength: Enabled: false Metrics/ModuleLength: Enabled: false Style/AsciiComments: Enabled: false Style/IfUnlessModifier: Enabled: false Style/Documentation: Enabled: false Style/DocumentationMethod: Enabled: true Style/ArrayIntersect: Enabled: true Style/BlockDelimiters: Enabled: false Style/DoubleNegation: Enabled: false Style/GuardClause: Enabled: false Style/SpecialGlobalVars: Enabled: false Style/MapToSet: Enabled: true Style/MinMaxComparison: Enabled: true Style/NumericPredicate: Enabled: false Style/Lambda: Enabled: false Style/HashEachMethods: Enabled: true Style/HashTransformKeys: Enabled: true Style/HashTransformValues: Enabled: true Style/ExponentialNotation: Enabled: true Style/SlicingWithRange: Enabled: true Style/YodaCondition: Enabled: false Style/YodaExpression: Enabled: false Style/AccessorGrouping: Enabled: false Style/ArrayCoercion: Enabled: true Style/BisectedAttrAccessor: Enabled: true Style/CaseLikeIf: Enabled: true Style/ExactRegexpMatch: Enabled: true Style/ExplicitBlockArgument: Enabled: false Style/GlobalStdStream: Enabled: true Style/HashAsLastArrayItem: Enabled: false Style/HashLikeCase: Enabled: false Style/OptionalBooleanParameter: Enabled: false Style/RedundantAssignment: Enabled: true Style/RedundantConstantBase: Enabled: true Style/RedundantFetchBlock: Enabled: true Style/RedundantSelfAssignmentBranch: Enabled: true Style/RedundantFileExtensionInRequire: Enabled: false Style/RedundantRegexpCharacterClass: Enabled: false Style/RedundantRegexpEscape: Enabled: false Style/SingleArgumentDig: Enabled: false Style/StringConcatenation: Enabled: true Layout/ParameterAlignment: EnforcedStyle: with_fixed_indentation Layout/ArgumentAlignment: EnforcedStyle: with_fixed_indentation Layout/LineContinuationLeadingSpace: Enabled: true Layout/LineContinuationSpacing: Enabled: true Layout/MultilineMethodCallIndentation: EnforcedStyle: indented Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/SpaceAroundMethodCallOperator: Enabled: true Lint/AmbiguousRegexpLiteral: Enabled: false Lint/AmbiguousRange: Enabled: true Lint/ConstantOverwrittenInRescue: Enabled: true Lint/DisjunctiveAssignmentInConstructor: Enabled: false Lint/RaiseException: Enabled: true Lint/StructNewOverride: Enabled: true Lint/BinaryOperatorWithIdenticalOperands: Enabled: true Lint/DeprecatedOpenSSLConstant: Enabled: true Lint/DuplicateElsifCondition: Enabled: true Lint/DuplicateRescueException: Enabled: true Lint/EmptyConditionalBody: Enabled: true Lint/FloatComparison: Enabled: true Lint/NonAtomicFileOperation: Enabled: true Lint/MissingSuper: Enabled: true Lint/MixedRegexpCaptureTypes: Enabled: true Lint/OutOfRangeRegexpRef: Enabled: true Lint/SelfAssignment: Enabled: true Lint/TopLevelReturnWithArgument: Enabled: true Lint/UnreachableLoop: Enabled: true Metrics/AbcSize: Enabled: false Metrics/CyclomaticComplexity: Max: 10 Metrics/PerceivedComplexity: Max: 10 Lint/UselessAccessModifier: ContextCreatingMethods: - concerning Layout/BeginEndAlignment: Enabled: true Lint/ConstantDefinitionInBlock: Enabled: true Exclude: - 'spec/**/*' Lint/DuplicateMagicComment: Enabled: true Lint/DuplicateRequire: Enabled: true Lint/EmptyFile: Enabled: true Lint/HashCompareByIdentity: Enabled: true Lint/IdentityComparison: Enabled: true Lint/RedundantSafeNavigation: Enabled: true Lint/TrailingCommaInAttributeDeclaration: Enabled: true Lint/UselessMethodDefinition: Enabled: true Lint/UselessTimes: Enabled: true Style/ClassEqualityComparison: Enabled: true Style/CombinableLoops: Enabled: true Style/ComparableClamp: Enabled: true Style/KeywordParametersOrder: Enabled: true Style/OperatorMethodCall: Enabled: true Style/RedundantHeredocDelimiterQuotes: Enabled: true Style/RedundantSelfAssignment: Enabled: true Style/RedundantStringEscape: Enabled: true Style/SoleNestedConditional: Enabled: true Lint/DuplicateRegexpCharacterClassElement: Enabled: true Lint/EmptyBlock: Enabled: false Lint/NoReturnInBeginEndBlocks: Enabled: true Lint/ToEnumArguments: Enabled: true Lint/UnmodifiedReduceAccumulator: Enabled: true Style/ArgumentsForwarding: Enabled: true Style/CollectionCompact: Enabled: true Style/DocumentDynamicEvalDefinition: Enabled: true Style/NegatedIfElseCondition: Enabled: true Style/SwapValues: Enabled: true Lint/DuplicateBranch: Enabled: false Lint/EmptyClass: Enabled: true Style/NilLambda: Enabled: true Style/RedundantArgument: Enabled: true Lint/UnexpectedBlockArity: Enabled: true Layout/SpaceBeforeBrackets: Enabled: true Lint/AmbiguousAssignment: Enabled: true Style/HashExcept: Enabled: true Lint/DeprecatedConstants: Enabled: true Lint/LambdaWithoutLiteralBlock: Enabled: true Lint/RedundantDirGlobSort: Enabled: true Lint/RefinementImportMethods: Enabled: true Style/EndlessMethod: Enabled: true Style/TernaryParentheses: Enabled: true Lint/NumberedParameterAssignment: Enabled: true Lint/OrAssignmentToConstant: Enabled: true Lint/SymbolConversion: Enabled: true Lint/TripleQuotes: Enabled: true Style/IfWithBooleanLiteralBranches: Enabled: true Style/HashConversion: Enabled: true Rails/Date: Enabled: true Style/StringChars: Enabled: true Style/TopLevelMethodDefinition: Enabled: false Lint/EmptyInPattern: Enabled: true Style/InPatternThen: Enabled: true Style/MultilineInPatternThen: Enabled: true Style/QuotedSymbols: Enabled: true Layout/LineEndStringConcatenationIndentation: Enabled: true Lint/AmbiguousOperatorPrecedence: Enabled: true Lint/IncompatibleIoSelectWithFiberScheduler: Enabled: true Lint/RequireRelativeSelfPath: Enabled: true Security/IoMethods: Enabled: true Style/NestedFileDirname: Enabled: true Style/NumberedParameters: Enabled: false Style/NumberedParametersLimit: Enabled: true Style/SelectByRegexp: Enabled: true Gemspec/RequireMFA: Enabled: true Lint/UselessRuby2Keywords: Enabled: true Style/OpenStructUse: Enabled: false Style/FileRead: Enabled: true Style/FileWrite: Enabled: true Style/MapToHash: Enabled: true Style/RedundantInitialize: Enabled: true Security/CompoundHash: Enabled: true Style/FetchEnvVar: Enabled: true Style/ObjectThen: Enabled: true Style/EnvHome: Enabled: true Style/RedundantCondition: Enabled: false Gemspec/DeprecatedAttributeAssignment: Enabled: true Gemspec/DevelopmentDependencies: Enabled: true Style/MapCompactWithConditionalBlock: Enabled: true Lint/RequireRangeParentheses: Enabled: true Style/EmptyHeredoc: Enabled: true Style/MagicCommentFormat: Enabled: true Style/HashSyntax: Enabled: false Style/RedundantEach: Enabled: true Style/ConcatArrayLiterals: Enabled: true Style/RedundantDoubleSplatHashBraces: Enabled: true Lint/UselessRescue: Enabled: true Metrics/CollectionLiteralLength: Enabled: true Style/DirEmpty: Enabled: true Style/FileEmpty: Enabled: true Style/DataInheritance: Enabled: true Style/RedundantLineContinuation: Enabled: true Style/TrailingCommaInArrayLiteral: Enabled: false Lint/DuplicateMatchPattern: Enabled: true Style/RedundantArrayConstructor: Enabled: true Style/RedundantFilterChain: Enabled: true Style/RedundantRegexpConstructor: Enabled: true Style/StringLiterals: Enabled: false RSpec/NamedSubject: Enabled: false RSpec/EmptyLineAfterSubject: Enabled: false RSpec/EmptyLineAfterHook: Enabled: false RSpec/EmptyLineAfterExampleGroup: Enabled: false RSpec/SharedExamples: Enabled: false RSpec/ContextWording: Enabled: false RSpec/NestedGroups: Enabled: false RSpec/ExpectChange: Enabled: false RSpec/ScatteredLet: Enabled: false RSpec/ImplicitSubject: Enabled: false RSpec/MultipleDescribes: Enabled: false RSpec/MultipleMemoizedHelpers: Enabled: false