plugins:
  - rubocop-performance
  - rubocop-rails
  - rubocop-rspec

AllCops:
  NewCops: enable
  Exclude:
    - db/schema.rb
    - node_modules/**/*
    - bin/*
    - vendor/**/*
  TargetRubyVersion: '4.0'
  SuggestExtensions: false

Metrics/BlockLength:
  Exclude:
    - Rakefile
    - '**/*.rake'
    - spec/**/*
    - config/environments/**/*
    - config/routes.rb

Style/Documentation:
  Enabled: false

Lint/MissingSuper:
  Enabled: false

Metrics/ParameterLists:
  Max: 10

Metrics/MethodLength:
  Max: 30
  Exclude:
    - 'db/migrate/**'
    - 'spec/**/*'

Metrics/CyclomaticComplexity:
  Max: 15

Metrics/PerceivedComplexity:
  Max: 15

Style/MultipleComparison:
  Enabled: false

Style/NumericPredicate:
  Enabled: false

Style/MinMaxComparison:
  Enabled: false

Naming/PredicateMethod:
  Enabled: false

Layout/LineLength:
  AllowedPatterns: ['\A\s*#']

Metrics/AbcSize:
  Max: 45
  Exclude:
    - spec/**/*

Metrics/ModuleLength:
  Max: 1000

Metrics/ClassLength:
  Max: 1000

RSpec/NestedGroups:
  Max: 6

RSpec/MultipleExpectations:
  Max: 25

RSpec/ExampleLength:
  Max: 500

RSpec/MultipleMemoizedHelpers:
  Max: 15

RSpec/AnyInstance:
  Enabled: false

Metrics/BlockNesting:
  Max: 6

Rails/I18nLocaleTexts:
  Enabled: false

Rails/FindEach:
  Enabled: false

Rails/SkipsModelValidations:
  Enabled: false

Rails/ApplicationController:
  Enabled: false

Rails/Output:
  Enabled: false

Rails/StrongParametersExpect:
  Enabled: false

Rails/RedirectBackOrTo:
  Enabled: false

Rails/UnknownEnv:
  Environments:
    - development
    - test
    - production
    - local
