.rubocop.yml
require:
- rubocop-performance
- rubocop-rspec
# - rubocop-rake # Not supported by CodeClimate
AllCops:
TargetRubyVersion: 3.0
DisplayCopNames: true
NewCops: enable
SuggestExtensions: false
Exclude:
- 'vendor/**/*'
- 'gemfiles/**/*' # These are automatically generated by appraisal
- 'lib/que-scheduler.rb' # Fails "Naming/FileName" but is right for catching old require style
Gemspec/RequiredRubyVersion:
Enabled: true
Layout/BlockAlignment:
EnforcedStyleAlignWith: start_of_block
Layout/DotPosition:
EnforcedStyle: leading
Layout/EmptyLinesAroundAttributeAccessor:
Enabled: true
Metrics/AbcSize:
Max: 20
Exclude:
- '**/spec/**/*.rb'
Metrics/BlockLength:
Exclude:
- 'Rakefile'
- '**/*.rake'
- '**/*.gemspec'
- '**/spec/**/*.rb'
Layout/LineLength:
Max: 100
Layout/SpaceAroundMethodCallOperator:
Enabled: true
Lint/DeprecatedOpenSSLConstant:
Enabled: true
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Metrics/MethodLength:
Max: 30
RSpec/AnyInstance:
Enabled: false
RSpec/ExampleLength:
Max: 50
RSpec/ExpectInHook:
Enabled: false
RSpec/HookArgument:
Enabled: false
RSpec/MessageSpies:
Enabled: false
RSpec/MultipleExpectations:
Max: 5
RSpec/NoExpectationExample:
Enabled: false
RSpec/StubbedMock:
Enabled: false
Style/AccessModifierDeclarations:
Enabled: true
EnforcedStyle: inline
Style/BlockDelimiters:
Enabled: false
Style/ExponentialNotation:
Enabled: true
Style/HashEachMethods:
Enabled: true
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
Style/SlicingWithRange:
Enabled: true
Style/NumericLiterals:
Enabled: false
Style/RedundantConstantBase:
Enabled: false # We refer to ::Que a lot
Style/TrailingCommaInArguments:
Enabled: false
Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: comma
Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: comma
Style/YAMLFileRead:
# This was causing spec failures on ruby 3
# https://github.com/hlascelles/que-scheduler/actions/runs/8316798910/job/22756743042?pr=466
Enabled: false
Style/Documentation:
Enabled: false
Style/FrozenStringLiteralComment:
Enabled: false
Style/StringLiterals:
EnforcedStyle: double_quotes