require: - rubocop-rspec - rubocop-performance - rubocop-rake AllCops: DisplayCopNames: true DisplayStyleGuide: true TargetRubyVersion: 2.7 Metrics/ClassLength: Max: 300 Metrics/MethodLength: Max: 20 Metrics/BlockLength: Enabled: false Metrics/CyclomaticComplexity: Enabled: false Metrics/PerceivedComplexity: Enabled: false Naming/VariableNumber: Enabled: false Naming/RescuedExceptionsVariableName: Enabled: false Naming/InclusiveLanguage: Enabled: false Naming/BlockForwarding: Enabled: true Style/Documentation: Enabled: false Style/DoubleNegation: Enabled: false Style/EmptyCaseCondition: Enabled: false Style/ParallelAssignment: Enabled: false Style/RescueStandardError: Enabled: false Style/HashEachMethods: Enabled: true Style/HashTransformKeys: Enabled: true Style/HashTransformValues: Enabled: true Style/AccessorGrouping: Enabled: true Style/ArrayCoercion: Enabled: true Style/BisectedAttrAccessor: Enabled: true Style/CaseLikeIf: Enabled: true Style/ExponentialNotation: Enabled: true Style/HashAsLastArrayItem: Enabled: true Style/HashLikeCase: Enabled: true Style/RedundantAssignment: Enabled: true Style/RedundantFetchBlock: Enabled: true Style/RedundantFileExtensionInRequire: Enabled: true Style/RedundantRegexpCharacterClass: Enabled: true Style/RedundantRegexpEscape: Enabled: true Style/SlicingWithRange: Enabled: true Style/ArgumentsForwarding: Enabled: true Style/CollectionCompact: Enabled: true Style/DocumentDynamicEvalDefinition: Enabled: true Style/NegatedIfElseCondition: Enabled: true Style/NilLambda: Enabled: true Style/RedundantArgument: Enabled: true Style/SwapValues: Enabled: true Style/EndlessMethod: Enabled: true Style/HashExcept: Enabled: true Style/IfWithBooleanLiteralBranches: Enabled: true Style/HashConversion: Enabled: true Style/StringChars: Enabled: true Style/InPatternThen: Enabled: true Style/MultilineInPatternThen: Enabled: true Style/QuotedSymbols: Enabled: true Style/RedundantSelfAssignmentBranch: Enabled: true Style/NumberedParameters: Enabled: true Style/NumberedParametersLimit: Enabled: true Style/SelectByRegexp: Enabled: true Style/FileRead: Enabled: true Style/FileWrite: Enabled: true Style/MapToHash: Enabled: true Style/OpenStructUse: Enabled: true Layout/LineLength: Max: 150 Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/SpaceAroundMethodCallOperator: Enabled: true Layout/ClassStructure: Enabled: true Categories: module_inclusion: - include - prepend - extend ExpectedOrder: - module_inclusion - constants - public_class_methods - initializer - public_methods - protected_methods - private_methods Layout/EmptyLineAfterGuardClause: Enabled: false Layout/SpaceBeforeBrackets: Enabled: true Layout/LineEndStringConcatenationIndentation: Enabled: true Lint/NonDeterministicRequireOrder: Enabled: true Lint/DeprecatedOpenSSLConstant: Enabled: true Lint/DuplicateElsifCondition: Enabled: true Lint/MixedRegexpCaptureTypes: Enabled: true Lint/RaiseException: Enabled: true Lint/StructNewOverride: Enabled: true Lint/DuplicateBranch: Enabled: true Lint/DuplicateRegexpCharacterClassElement: Enabled: true Lint/EmptyBlock: Enabled: true Lint/EmptyClass: Enabled: true Lint/NoReturnInBeginEndBlocks: Enabled: true Lint/ToEnumArguments: Enabled: true Lint/UnexpectedBlockArity: Enabled: true Lint/AmbiguousAssignment: Enabled: true Lint/DeprecatedConstants: Enabled: true Lint/LambdaWithoutLiteralBlock: Enabled: true Lint/RedundantDirGlobSort: Enabled: true Lint/UnmodifiedReduceAccumulator: Enabled: true Lint/NumberedParameterAssignment: Enabled: true Lint/OrAssignmentToConstant: Enabled: true Lint/SymbolConversion: Enabled: true Lint/TripleQuotes: Enabled: true Lint/EmptyInPattern: Enabled: true Lint/AmbiguousRange: Enabled: true Lint/AmbiguousOperatorPrecedence: Enabled: true Lint/IncompatibleIoSelectWithFiberScheduler: Enabled: true Lint/RequireRelativeSelfPath: Enabled: true Lint/UselessRuby2Keywords: Enabled: true Gemspec/DateAssignment: Enabled: true Gemspec/RequireMFA: Enabled: false Security/IoMethods: Enabled: true Performance/AncestorsInclude: Enabled: true Performance/BigDecimalWithNumericArgument: Enabled: true Performance/RedundantSortBlock: Enabled: true Performance/RedundantStringChars: Enabled: true Performance/ReverseFirst: Enabled: true Performance/SortReverse: Enabled: true Performance/Squeeze: Enabled: true Performance/StringInclude: Enabled: true Performance/BlockGivenWithExplicitBlock: Enabled: true Performance/CollectionLiteralInLoop: Enabled: true Performance/ConstantRegexp: Enabled: true Performance/MethodObjectAsBlock: Enabled: false Performance/Sum: Enabled: true Performance/RedundantEqualityComparisonBlock: Enabled: true Performance/RedundantSplitRegexpArgument: Enabled: true Performance/MapCompact: Enabled: true Performance/ConcurrentMonotonicTime: Enabled: true Performance/StringIdentifierArgument: Enabled: true RSpec/ExampleLength: Enabled: false RSpec/NestedGroups: Enabled: false RSpec/MultipleExpectations: Enabled: false RSpec/MessageChain: Enabled: false RSpec/ContextWording: Enabled: false RSpec/AnyInstance: Enabled: false RSpec/MessageSpies: Enabled: false RSpec/MultipleDescribes: Enabled: false RSpec/MultipleMemoizedHelpers: Enabled: false RSpec/StubbedMock: Enabled: false RSpec/IdenticalEqualityAssertion: Enabled: true RSpec/Rails/AvoidSetupHook: Enabled: true RSpec/ExcessiveDocstringSpacing: Enabled: true RSpec/SubjectDeclaration: Enabled: true RSpec/FactoryBot/SyntaxMethods: Enabled: true # TODO: Fix later Naming/PredicateName: Enabled: false Metrics/AbcSize: Enabled: false Style/OptionalBooleanParameter: Enabled: false Lint/IneffectiveAccessModifier: Enabled: false Style/MissingRespondToMissing: Enabled: false Naming/AccessorMethodName: Enabled: false Style/GuardClause: Enabled: false Naming/MethodName: Enabled: false Lint/MissingSuper: Enabled: false RSpec/FilePath: Enabled: false