098ced7420
As pointed out by https://github.com/mastodon/mastodon/pull/21297#discussion_r1028372193 at least one of our dependencies already dropped support for Ruby 2.6, and we had removed Ruby 2.6 tests from the CI over a year ago (#16861). So stop advertising Ruby 2.6 support, bump targeted version, and drop some compatibility code.
313 lines
4.7 KiB
YAML
313 lines
4.7 KiB
YAML
require:
|
|
- rubocop-rails
|
|
|
|
AllCops:
|
|
TargetRubyVersion: 2.7
|
|
NewCops: disable
|
|
Exclude:
|
|
- 'spec/**/*'
|
|
- 'db/**/*'
|
|
- 'app/views/**/*'
|
|
- 'config/**/*'
|
|
- 'bin/*'
|
|
- 'Rakefile'
|
|
- 'node_modules/**/*'
|
|
- 'Vagrantfile'
|
|
- 'vendor/**/*'
|
|
- 'lib/json_ld/*'
|
|
- 'lib/templates/**/*'
|
|
|
|
Bundler/OrderedGems:
|
|
Enabled: false
|
|
|
|
Layout/AccessModifierIndentation:
|
|
EnforcedStyle: indent
|
|
|
|
Layout/EmptyLineAfterMagicComment:
|
|
Enabled: false
|
|
|
|
Layout/EmptyLineAfterGuardClause:
|
|
Enabled: false
|
|
|
|
Layout/EmptyLineBetweenDefs:
|
|
AllowAdjacentOneLineDefs: true
|
|
|
|
Layout/EmptyLinesAroundAttributeAccessor:
|
|
Enabled: true
|
|
|
|
Layout/FirstHashElementIndentation:
|
|
EnforcedStyle: consistent
|
|
|
|
Layout/HashAlignment:
|
|
Enabled: false
|
|
|
|
Layout/SpaceAroundMethodCallOperator:
|
|
Enabled: true
|
|
|
|
Layout/SpaceInsideHashLiteralBraces:
|
|
EnforcedStyle: space
|
|
|
|
Lint/DeprecatedOpenSSLConstant:
|
|
Enabled: true
|
|
|
|
Lint/DuplicateElsifCondition:
|
|
Enabled: true
|
|
|
|
Lint/MixedRegexpCaptureTypes:
|
|
Enabled: true
|
|
|
|
Lint/RaiseException:
|
|
Enabled: true
|
|
|
|
Lint/StructNewOverride:
|
|
Enabled: true
|
|
|
|
Lint/UselessAccessModifier:
|
|
ContextCreatingMethods:
|
|
- class_methods
|
|
|
|
Metrics/AbcSize:
|
|
Max: 115
|
|
Exclude:
|
|
- 'lib/mastodon/*_cli.rb'
|
|
|
|
Metrics/BlockLength:
|
|
Max: 55
|
|
Exclude:
|
|
- 'lib/tasks/**/*'
|
|
- 'lib/mastodon/*_cli.rb'
|
|
|
|
Metrics/BlockNesting:
|
|
Max: 3
|
|
Exclude:
|
|
- 'lib/mastodon/*_cli.rb'
|
|
|
|
Metrics/ClassLength:
|
|
CountComments: false
|
|
Max: 500
|
|
Exclude:
|
|
- 'lib/mastodon/*_cli.rb'
|
|
|
|
Metrics/CyclomaticComplexity:
|
|
Max: 25
|
|
Exclude:
|
|
- 'lib/mastodon/*_cli.rb'
|
|
|
|
Layout/LineLength:
|
|
AllowURI: true
|
|
Enabled: false
|
|
|
|
Metrics/MethodLength:
|
|
CountComments: false
|
|
Max: 65
|
|
Exclude:
|
|
- 'lib/mastodon/*_cli.rb'
|
|
|
|
Metrics/ModuleLength:
|
|
CountComments: false
|
|
Max: 200
|
|
|
|
Metrics/ParameterLists:
|
|
Max: 5
|
|
CountKeywordArgs: true
|
|
|
|
Metrics/PerceivedComplexity:
|
|
Max: 25
|
|
|
|
Naming/MemoizedInstanceVariableName:
|
|
Enabled: false
|
|
|
|
Naming/MethodParameterName:
|
|
Enabled: true
|
|
|
|
Rails:
|
|
Enabled: true
|
|
|
|
Rails/ApplicationController:
|
|
Enabled: false
|
|
Exclude:
|
|
- 'app/controllers/well_known/**/*.rb'
|
|
|
|
Rails/BelongsTo:
|
|
Enabled: false
|
|
|
|
Rails/ContentTag:
|
|
Enabled: false
|
|
|
|
Rails/EnumHash:
|
|
Enabled: false
|
|
|
|
Rails/Exit:
|
|
Exclude:
|
|
- 'lib/mastodon/*'
|
|
- 'lib/cli.rb'
|
|
|
|
Rails/FilePath:
|
|
Enabled: false
|
|
|
|
Rails/HasAndBelongsToMany:
|
|
Enabled: false
|
|
|
|
Rails/HasManyOrHasOneDependent:
|
|
Enabled: false
|
|
|
|
Rails/HelperInstanceVariable:
|
|
Enabled: false
|
|
|
|
Rails/HttpStatus:
|
|
Enabled: false
|
|
|
|
Rails/IndexBy:
|
|
Enabled: false
|
|
|
|
Rails/InverseOf:
|
|
Enabled: false
|
|
|
|
Rails/LexicallyScopedActionFilter:
|
|
Enabled: false
|
|
|
|
Rails/OutputSafety:
|
|
Enabled: true
|
|
|
|
Rails/RakeEnvironment:
|
|
Enabled: false
|
|
|
|
Rails/RedundantForeignKey:
|
|
Enabled: false
|
|
|
|
Rails/SkipsModelValidations:
|
|
Enabled: false
|
|
|
|
Rails/UniqueValidationWithoutIndex:
|
|
Enabled: false
|
|
|
|
Style/AccessorGrouping:
|
|
Enabled: true
|
|
|
|
Style/AccessModifierDeclarations:
|
|
Enabled: false
|
|
|
|
Style/ArrayCoercion:
|
|
Enabled: true
|
|
|
|
Style/BisectedAttrAccessor:
|
|
Enabled: true
|
|
|
|
Style/CaseLikeIf:
|
|
Enabled: false
|
|
|
|
Style/ClassAndModuleChildren:
|
|
Enabled: false
|
|
|
|
Style/CollectionMethods:
|
|
Enabled: true
|
|
PreferredMethods:
|
|
find_all: 'select'
|
|
|
|
Style/Documentation:
|
|
Enabled: false
|
|
|
|
Style/DoubleNegation:
|
|
Enabled: true
|
|
|
|
Style/ExpandPathArguments:
|
|
Enabled: false
|
|
|
|
Style/ExponentialNotation:
|
|
Enabled: true
|
|
|
|
Style/FormatString:
|
|
Enabled: false
|
|
|
|
Style/FormatStringToken:
|
|
Enabled: false
|
|
|
|
Style/FrozenStringLiteralComment:
|
|
Enabled: true
|
|
|
|
Style/GuardClause:
|
|
Enabled: false
|
|
|
|
Style/HashAsLastArrayItem:
|
|
Enabled: false
|
|
|
|
Style/HashEachMethods:
|
|
Enabled: true
|
|
|
|
Style/HashLikeCase:
|
|
Enabled: true
|
|
|
|
Style/HashTransformKeys:
|
|
Enabled: true
|
|
|
|
Style/HashTransformValues:
|
|
Enabled: false
|
|
|
|
Style/HashSyntax:
|
|
Enabled: true
|
|
EnforcedStyle: ruby19_no_mixed_keys
|
|
|
|
Style/IfUnlessModifier:
|
|
Enabled: false
|
|
|
|
Style/InverseMethods:
|
|
Enabled: false
|
|
|
|
Style/Lambda:
|
|
Enabled: false
|
|
|
|
Style/MutableConstant:
|
|
Enabled: false
|
|
|
|
Style/PercentLiteralDelimiters:
|
|
PreferredDelimiters:
|
|
'%i': '()'
|
|
'%w': '()'
|
|
|
|
Style/PerlBackrefs:
|
|
AutoCorrect: false
|
|
|
|
Style/RedundantAssignment:
|
|
Enabled: false
|
|
|
|
Style/RedundantFetchBlock:
|
|
Enabled: true
|
|
|
|
Style/RedundantFileExtensionInRequire:
|
|
Enabled: true
|
|
|
|
Style/RedundantRegexpCharacterClass:
|
|
Enabled: false
|
|
|
|
Style/RedundantRegexpEscape:
|
|
Enabled: false
|
|
|
|
Style/RedundantReturn:
|
|
Enabled: true
|
|
|
|
Style/RedundantBegin:
|
|
Enabled: false
|
|
|
|
Style/RegexpLiteral:
|
|
Enabled: false
|
|
|
|
Style/RescueStandardError:
|
|
Enabled: false
|
|
|
|
Style/SignalException:
|
|
Enabled: false
|
|
|
|
Style/SlicingWithRange:
|
|
Enabled: true
|
|
|
|
Style/SymbolArray:
|
|
Enabled: false
|
|
|
|
Style/TrailingCommaInArrayLiteral:
|
|
EnforcedStyleForMultiline: 'comma'
|
|
|
|
Style/TrailingCommaInHashLiteral:
|
|
EnforcedStyleForMultiline: 'comma'
|
|
|
|
Style/UnpackFirst:
|
|
Enabled: false
|