.rubocop.yml
require:
- rubocop-rake
- rubocop-rspec
# Explanations of all possible options:
# https://github.com/bbatsov/rubocop/blob/master/config/default.yml
AllCops:
DisplayCopNames: true
DisplayStyleGuide: true
TargetRubyVersion: 2.5
Exclude:
- 'pkg/**/*'
- 'vendor/**/*'
- 'spec/fixtures/**/*'
NewCops: enable
Metrics/MethodLength:
Max: 25
Layout/LineLength:
Max: 90
# Details:
# http://c2.com/cgi/wiki?AbcMetric
Metrics/AbcSize:
# The ABC size is a calculated magnitude, so this number can be a Fixnum or
# a Float.
Max: 20
Style/StringLiterals:
Enabled: false
Style/HashSyntax:
EnforcedStyle: ruby19
Naming/FileName:
Exclude:
- 'lib/airbrake-ruby.rb'
Style/NumericLiterals:
Enabled: false
Style/SignalException:
EnforcedStyle: only_raise
Naming/PredicateName:
Exclude:
- 'lib/airbrake-ruby/async_sender.rb'
- 'lib/airbrake-ruby/thread_pool.rb'
Metrics/ClassLength:
Max: 120
# TODO: enable this when Ruby 3.0 is out.
Style/FrozenStringLiteralComment:
Enabled: false
Layout/FirstArrayElementIndentation:
EnforcedStyle: consistent
Style/NumericPredicate:
Enabled: false
Naming/VariableNumber:
Enabled: false
Style/SafeNavigation:
Enabled: false
Metrics/BlockLength:
CountComments: false
Max: 25
Exclude:
- 'Rakefile'
- '**/*.rake'
- 'spec/**/*.rb'
- 'airbrake-ruby.gemspec'
Layout/HeredocIndentation:
Enabled: false
Gemspec/OrderedDependencies:
Enabled: false
Style/FormatStringToken:
Enabled: false
Naming/MethodParameterName:
Enabled: false
Gemspec/RequiredRubyVersion:
Enabled: false
Style/TrailingCommaInArguments:
EnforcedStyleForMultiline: comma
Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: comma
Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: comma
Naming/RescuedExceptionsVariableName:
Enabled: false
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Style/HashEachMethods:
Enabled: true
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
RSpec/ExampleLength:
Enabled: false
RSpec/MultipleExpectations:
Max: 2
RSpec/ContextWording:
Enabled: false
RSpec/FilePath:
Enabled: false
RSpec/NestedGroups:
Enabled: false
RSpec/MultipleMemoizedHelpers:
Max: 6
RSpec/AnyInstance:
Enabled: false
Layout/LineEndStringConcatenationIndentation:
Enabled: false
Style/OpenStructUse:
Exclude:
- 'spec/**/*'