require: - rubocop-performance - rubocop-rails AllCops: NewCops: disable DisplayCopNames: true Exclude: - 'bin/**/*' - 'coverage/**/*' - 'db/**/*' - 'log/**/*' - 'public/**/*' - 'tmp/**/*' - 'vendor/**/*' Bundler/GemComment: Enabled: true OnlyFor: - 'restrictive_version_specificiers' - 'source' - 'git' - 'github' - 'gist' Gemspec/RequiredRubyVersion: Exclude: - schemas_gem/*_schemas.gemspec # This cop has poor handling for the common case of a lambda arg in a DSL Lint/AmbiguousBlockAssociation: Enabled: false Lint/AmbiguousOperator: Enabled: false Performance/RedundantMerge: MaxKeyValuePairs: 1 Style/Alias: EnforcedStyle: prefer_alias_method Layout/HashAlignment: Enabled: false Style/Documentation: Enabled: false Style/DoubleNegation: Enabled: false # auto-correct is broken for this cop: # https://github.com/bbatsov/rubocop/issues/3271 Style/EachForSimpleLoop: AutoCorrect: false Style/EachWithObject: Enabled: false Layout/EmptyLines: Enabled: false Layout/EmptyLinesAroundBlockBody: Enabled: false Layout/EmptyLinesAroundClassBody: Enabled: false Layout/EmptyLinesAroundModuleBody: Enabled: false Layout/EmptyLinesAroundMethodBody: Enabled: false Style/EmptyLiteral: Enabled: false Style/EmptyMethod: Enabled: false # Disabling due to performance implications. # https://github.com/JuanitoFatas/fast-ruby/blob/master/code/proc-and-block/proc-call-vs-yield.rb Style/ExplicitBlockArgument: Enabled: false # The Exclude list is not additive. Projects that exclude file names will # need to re-add Appraisals. Naming/FileName: Exclude: - 'Appraisals' Style/FrozenStringLiteralComment: Enabled: true Style/GuardClause: Enabled: false # does not make sense to enable this without AlignHash Layout/FirstHashElementIndentation: Enabled: false Style/Lambda: Enabled: false Style/ModuleFunction: EnforcedStyle: extend_self Style/MultilineBlockChain: Enabled: false Layout/MultilineMethodCallIndentation: Enabled: false Layout/MultilineOperationIndentation: Enabled: false Layout/MultilineBlockLayout: Enabled: false # This cop complains about values like 05. Style/NumericLiteralPrefix: Enabled: false # This cop is problematic when nil may be compared with 0. Style/NumericPredicate: Enabled: false # This cop is unstable. Style/PercentLiteralDelimiters: Enabled: false Style/Proc: Enabled: false Style/RaiseArgs: EnforcedStyle: compact Style/RegexpLiteral: Enabled: false Style/SafeNavigation: Enabled: false Style/SignalException: EnforcedStyle: only_raise Style/SingleLineBlockParams: Enabled: false # This cop doesn't work properly if you a have a block with # arguments split across multiple lines Layout/SpaceAroundBlockParameters: Enabled: false Style/StringLiterals: EnforcedStyle: single_quotes Exclude: - 'spec/**/*' Naming/VariableNumber: Enabled: false Metrics/AbcSize: Enabled: false Metrics/BlockLength: Enabled: false Metrics/BlockNesting: Enabled: false Metrics/ClassLength: Enabled: false Metrics/CyclomaticComplexity: Enabled: false Layout/LineLength: Enabled: true Max: 120 IgnoreCopDirectives: true IgnoredPatterns: - ^# Metrics/MethodLength: Enabled: false Metrics/ModuleLength: Enabled: false Metrics/ParameterLists: Enabled: false Metrics/PerceivedComplexity: Enabled: false Rails: Enabled: false # This cop is too greedy I dont # want to underscore my timestamps. Style/NumericLiterals: Enabled: false Style/StructInheritance: Enabled: false Style/WordArray: EnforcedStyle: brackets Style/SymbolArray: EnforcedStyle: brackets Lint/HashCompareByIdentity: Enabled: false Lint/IdentityComparison: Enabled: false Lint/MixedRegexpCaptureTypes: Enabled: false Lint/TopLevelReturnWithArgument: Enabled: false Style/CombinableLoops: Enabled: false Style/HashAsLastArrayItem: Enabled: false Style/HashEachMethods: Enabled: false # Allow both { foo: } and { foo: foo } Style/HashSyntax: EnforcedShorthandSyntax: either Style/OptionalBooleanParameter: Enabled: false Style/RedundantSelfAssignment: Enabled: false Style/SingleArgumentDig: Enabled: false # Added for v1.13.0 -> v1.27.0 version bump. Bundler/GemFilename: Enabled: false Bundler/GemVersion: Enabled: false Gemspec/RequireMFA: Enabled: false Layout/LineEndStringConcatenationIndentation: Enabled: false Layout/SingleLineBlockChain: Enabled: false Lint/AmbiguousOperatorPrecedence: Enabled: false Lint/AmbiguousRange: Enabled: false Lint/EmptyInPattern: Enabled: false Lint/IncompatibleIoSelectWithFiberScheduler: Enabled: false Lint/RefinementImportMethods: Enabled: false Lint/RequireRelativeSelfPath: Enabled: false Lint/UselessRuby2Keywords: Enabled: false Naming/BlockForwarding: Enabled: false Naming/InclusiveLanguage: Enabled: false Security/IoMethods: Enabled: false Style/FileRead: Enabled: false Style/FileWrite: Enabled: false Style/InPatternThen: Enabled: false Style/MapToHash: Enabled: false Style/MultilineInPatternThen: Enabled: false Style/NestedFileDirname: Enabled: false Style/NumberedParameters: Enabled: false Style/NumberedParametersLimit: Enabled: false Style/OpenStructUse: Enabled: false Style/QuotedSymbols: Enabled: false Style/RedundantInitialize: Enabled: false Style/RedundantSelfAssignmentBranch: Enabled: false Style/SelectByRegexp: Enabled: false Style/TopLevelMethodDefinition: Enabled: false # End updates for v1.13.0 -> v1.27.0 version bump.