require: rubocop-rspec AllCops: TargetRubyVersion: 2.6 NewCops: enable Exclude: - 'db/**/*' - 'ansible/**/*' - 'vendor/**/*' - 'bin/**/*' - 'node_modules/**/*' # Don't force top level comments in every class Style/Documentation: Enabled: false # A good line length is 100 chars, comments are ignored Layout/LineLength: Max: 100 AllowURI: true IgnoredPatterns: ['\A(\s+)?#'] Metrics/BlockLength: Enabled: false Metrics/ClassLength: Max: 300 Metrics/MethodLength: Max: 20 Metrics/AbcSize: Max: 30 RSpec/ExampleLength: Enabled: false RSpec/MultipleExpectations: Max: 10 RSpec/LetSetup: Enabled: false RSpec/MessageSpies: Enabled: false RSpec/RepeatedExample: Exclude: - 'spec/policies/**/*' RSpec/RepeatedDescription: Exclude: - 'spec/policies/**/*' Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/SpaceAroundMethodCallOperator: Enabled: true Lint/DeprecatedOpenSSLConstant: Enabled: true Lint/RaiseException: Enabled: true Lint/StructNewOverride: Enabled: true Style/ExponentialNotation: Enabled: true Style/HashEachMethods: Enabled: true Style/HashTransformKeys: Enabled: true Style/HashTransformValues: Enabled: true Style/SlicingWithRange: Enabled: true # TODO: we should rename our fields from line_1, address_line_2, etc Naming/VariableNumber: Enabled: false Metrics/CyclomaticComplexity: Max: 9 Metrics/PerceivedComplexity: Max: 10 RSpec/MultipleMemoizedHelpers: Max: 8