require: - rubocop-performance AllCops: NewCops: enable TargetRubyVersion: 3.0 Exclude: - 'config/**/*' - 'db/**/*' - 'node_modules/**/*' - 'script/**/*' - 'tmp/**/*' - 'vendor/**/*' - 'Guardfile' - 'bin/*' - 'node_modules/**/*' # Use UTF-8 as the source file encoding. Style/Encoding: Enabled: false Style/HashEachMethods: Enabled: false Style/HashTransformKeys: Enabled: false Style/HashTransformValues: Enabled: false Style/RedundantRegexpCharacterClass: Enabled: true Style/RedundantRegexpEscape: Enabled: true Style/RedundantFetchBlock: Enabled: true Lint/RaiseException: Enabled: true Lint/StructNewOverride: Enabled: true Lint/DeprecatedOpenSSLConstant: Enabled: true Lint/MixedRegexpCaptureTypes: Enabled: true # Limit lines to 80 characters. Layout/LineLength: Max: 120 IgnoredPatterns: ['\A#'] Layout/EndOfLine: EnforcedStyle: lf Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/SpaceAroundMethodCallOperator: Enabled: true # Default is 5 Metrics/ParameterLists: Max: 6 # Avoid methods longer than 10 lines of code Metrics/MethodLength: CountComments: false # count full line comments? Max: 20 # Limit modules to have a length of 768 Metrics/ModuleLength: Max: 768 Exclude: - 'spec/**/*' # Describe specs fail this test # Namespaces in rake tasks do too Metrics/BlockLength: Exclude: - 'spec/**/*' - '**/*.rake' - '**/*.gemspec' # Limit classes to have a length of 768 Metrics/ClassLength: Max: 768 Metrics/AbcSize: Exclude: - 'spec/**/*' ################################################################## DISABLED COPS # These cops are disabled because we think they are a Bad Idea. If you add one # here, make sure to add a comment describing what the cop does, and why this # is a bad idea. # Forces the argument names of the block given to #reduce to be `a, e`. Only # applies on single-line blocks, but why would we want to force people to use # less descriptive names? Style/Documentation: Enabled: true Style/ExponentialNotation: Enabled: true Style/SlicingWithRange: Enabled: true