require: rubocop-rspec inherit_from: .rubocop_todo.yml AllCops: TargetRubyVersion: 3.0 SuggestExtensions: false DisplayCopNames: true Include: - './Rakefile' # rake only - '**/*.rb' Exclude: # autogenerated files (that we don't change) should go here - 'Gemfile.lock' - '**/*.md' - spec/spec_helper.rb - 'vendor/**/*' # avoid running rubocop on cached bundler Bundler/GemComment: OnlyFor: - restrictive_version_specifiers - branch Layout/LineLength: Max: 120 Naming/FileName: Exclude: - 'lib/assembly-objectfile.rb' Naming/PredicateName: NamePrefix: - 'is_' Metrics/BlockLength: Exclude: - 'spec/**/*.rb' - '**/*.gemspec' RSpec/ExampleLength: Enabled: false RSpec/MultipleExpectations: Max: 6 # default 1 Exclude: - spec/features/**/*_spec.rb RSpec/MultipleMemoizedHelpers: Enabled: false RSpec/NestedGroups: Max: 4 # default: 3 Gemspec/DeprecatedAttributeAssignment: # (new in 1.10) Enabled: true Layout/SpaceAroundMethodCallOperator: Enabled: true Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/SpaceBeforeBrackets: # (new in 1.7) Enabled: true Lint/AmbiguousAssignment: # (new in 1.7) Enabled: true Lint/DeprecatedConstants: # (new in 1.8) Enabled: true Lint/DuplicateBranch: # (new in 1.3) Enabled: true Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1) Enabled: true Lint/EmptyBlock: # (new in 1.1) Enabled: true Lint/EmptyClass: # (new in 1.3) Enabled: true Lint/LambdaWithoutLiteralBlock: # (new in 1.8) Enabled: true Lint/NoReturnInBeginEndBlocks: # (new in 1.2) Enabled: true Lint/NumberedParameterAssignment: # (new in 1.9) Enabled: true Lint/OrAssignmentToConstant: # (new in 1.9) Enabled: true Lint/RedundantDirGlobSort: # (new in 1.8) Enabled: true Lint/SymbolConversion: # (new in 1.9) Enabled: true Lint/ToEnumArguments: # (new in 1.1) Enabled: true Lint/TripleQuotes: # (new in 1.9) Enabled: true Lint/UnexpectedBlockArity: # (new in 1.5) Enabled: true Lint/UnmodifiedReduceAccumulator: # (new in 1.1) Enabled: true Lint/RaiseException: Enabled: true Lint/StructNewOverride: Enabled: true Style/ExponentialNotation: Enabled: true Style/HashEachMethods: Enabled: true Style/HashTransformKeys: Enabled: true Style/HashTransformValues: Enabled: true Style/SlicingWithRange: Enabled: true Style/ArgumentsForwarding: # (new in 1.1) Enabled: true Style/CollectionCompact: # (new in 1.2) Enabled: true Style/DocumentDynamicEvalDefinition: # (new in 1.1) Enabled: true Style/EndlessMethod: # (new in 1.8) Enabled: true Style/HashConversion: # (new in 1.10) Enabled: true Style/HashExcept: # (new in 1.7) Enabled: true Style/IfWithBooleanLiteralBranches: # (new in 1.9) Enabled: true Style/NegatedIfElseCondition: # (new in 1.2) Enabled: true Style/NilLambda: # (new in 1.3) Enabled: true Style/RedundantArgument: # (new in 1.4) Enabled: true Style/SwapValues: # (new in 1.1) Enabled: true Gemspec/RequireMFA: # new in 1.23 Enabled: true Layout/LineEndStringConcatenationIndentation: # new in 1.18 Enabled: true Lint/AmbiguousOperatorPrecedence: # new in 1.21 Enabled: true Lint/AmbiguousRange: # new in 1.19 Enabled: true Lint/EmptyInPattern: # new in 1.16 Enabled: true Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21 Enabled: true Lint/RequireRelativeSelfPath: # new in 1.22 Enabled: true Lint/UselessRuby2Keywords: # new in 1.23 Enabled: true Naming/BlockForwarding: # new in 1.24 Enabled: true Security/IoMethods: # new in 1.22 Enabled: true Style/FileRead: # new in 1.24 Enabled: true Style/FileWrite: # new in 1.24 Enabled: true Style/InPatternThen: # new in 1.16 Enabled: true Style/MapToHash: # new in 1.24 Enabled: true Style/MultilineInPatternThen: # new in 1.16 Enabled: true Style/NumberedParameters: # new in 1.22 Enabled: true Style/NumberedParametersLimit: # new in 1.22 Enabled: true Style/OpenStructUse: # new in 1.23 Enabled: true Style/QuotedSymbols: # new in 1.16 Enabled: true Style/RedundantSelfAssignmentBranch: # new in 1.19 Enabled: true Style/SelectByRegexp: # new in 1.22 Enabled: true Style/StringChars: # new in 1.12 Enabled: true RSpec/BeEq: # new in 2.9.0 Enabled: true RSpec/BeNil: # new in 2.9.0 Enabled: true RSpec/ExcessiveDocstringSpacing: # new in 2.5 Enabled: true RSpec/IdenticalEqualityAssertion: # new in 2.4 Enabled: true RSpec/SubjectDeclaration: # new in 2.5 Enabled: true RSpec/FactoryBot/SyntaxMethods: # new in 2.7 Enabled: true RSpec/Rails/AvoidSetupHook: # new in 2.4 Enabled: true Lint/RefinementImportMethods: # new in 1.27 Enabled: true Security/CompoundHash: # new in 1.28 Enabled: true Style/EnvHome: # new in 1.29 Enabled: true Style/FetchEnvVar: # new in 1.28 Enabled: true Style/MapCompactWithConditionalBlock: # new in 1.30 Enabled: true Style/NestedFileDirname: # new in 1.26 Enabled: true Style/ObjectThen: # new in 1.28 Enabled: true Style/RedundantInitialize: # new in 1.27 Enabled: true RSpec/ChangeByZero: # new in 2.11.0 Enabled: true RSpec/VerifiedDoubleReference: # new in 2.10.0 Enabled: true Layout/LineContinuationLeadingSpace: # new in 1.31 Enabled: true Layout/LineContinuationSpacing: # new in 1.31 Enabled: true Lint/ConstantOverwrittenInRescue: # new in 1.31 Enabled: true Lint/NonAtomicFileOperation: # new in 1.31 Enabled: true RSpec/Capybara/SpecificMatcher: # new in 2.12 Enabled: true RSpec/Rails/HaveHttpStatus: # new in 2.12 Enabled: true Lint/RequireRangeParentheses: # new in 1.32 Enabled: true Style/EmptyHeredoc: # new in 1.32 Enabled: true Style/MagicCommentFormat: # new in 1.35 Enabled: true RSpec/ClassCheck: # new in 2.13 Enabled: true RSpec/NoExpectationExample: # new in 2.13 Enabled: true RSpec/Capybara/SpecificFinders: # new in 2.13 Enabled: true