airbrake/airbrake-ruby

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
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/**/*'