require: - rubocop-rake - rubocop-rspec - rubocop-performance AllCops: NewCops: enable TargetRubyVersion: 2.7 Exclude: - 'lib/json-path-builder.rb' - 'vendor/bundle/**/*' - 'gemfiles/vendor/bundle/**/*' - 'bin/*' - 'json-path-builder.gemspec' Style/Documentation: Enabled: false Style/FrozenStringLiteralComment: Enabled: false Style/Encoding: Enabled: false Style/StringLiterals: Enabled: false Style/FormatStringToken: Enabled: false Style/RedundantReturn: Enabled: false Style/SignalException: Enabled: true Style/HashSyntax: EnforcedStyle: ruby19_no_mixed_keys Style/TrivialAccessors: AllowPredicates: true Naming/PredicateName: Enabled: false Metrics/MethodLength: Max: 15 Metrics/BlockLength: Max: 35 Exclude: - 'spec/**/*.rb' Layout/TrailingEmptyLines: Enabled: false Layout/EndOfLine: EnforcedStyle: lf Lint/ConstantDefinitionInBlock: Exclude: - 'spec/**/*.rb' Lint/EmptyClass: Exclude: - 'spec/**/*.rb' # Defaults after the Rubocop upgrade Gemspec/DeprecatedAttributeAssignment: # new in 1.10 Enabled: true Layout/LineEndStringConcatenationIndentation: # new in 1.18 Enabled: true Layout/SpaceBeforeBrackets: # new in 1.7 Enabled: true Lint/AmbiguousAssignment: # new in 1.7 Enabled: true Lint/AmbiguousOperatorPrecedence: # new in 1.21 Enabled: true Lint/AmbiguousRange: # new in 1.19 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/EmptyInPattern: # new in 1.16 Enabled: true Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21 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 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/InPatternThen: # new in 1.16 Enabled: true Style/MultilineInPatternThen: # new in 1.16 Enabled: true Style/NegatedIfElseCondition: # new in 1.2 Enabled: true Style/NilLambda: # new in 1.3 Enabled: true Style/QuotedSymbols: # new in 1.16 Enabled: true Style/RedundantArgument: # new in 1.4 Enabled: true Style/RedundantSelfAssignmentBranch: # new in 1.19 Enabled: true Style/StringChars: # new in 1.12 Enabled: true Style/SwapValues: # new in 1.1 Enabled: true Gemspec/RequireMFA: # new in 1.23 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/MapToHash: # new in 1.24 Enabled: true Style/NestedFileDirname: # new in 1.26 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/SelectByRegexp: # new in 1.22 Enabled: true RSpec/NestedGroups: Enabled: false RSpec/MultipleExpectations: Enabled: false RSpec/LeakyConstantDeclaration: Enabled: false RSpec/ExampleLength: Enabled: false RSpec/MultipleMemoizedHelpers: Enabled: false RSpec/PredicateMatcher: Enabled: false RSpec/FilePath: Enabled: false RSpec/SubjectStub: Enabled: false RSpec/VerifiedDoubles: Enabled: false