# Last updated to 1.31.0

require:
  - 'rubocop-rspec'

Capybara/FeatureMethods:
  Enabled:                        true

Capybara/CurrentPathExpectation:
  Enabled:                        true

FactoryBot/CreateList:
  Enabled:                        true

FactoryBot/AttributeDefinedStatically:
  Enabled:                        true

Rails/HttpStatus:
  Enabled:                        true
  EnforcedStyle:                  'numeric'

RSpec/AlignLeftLetBrace:
  Enabled:                        true

RSpec/AlignRightLetBrace:
  Enabled:                        false

RSpec/AnyInstance:
  Enabled:                        true

RSpec/AroundBlock:
  Enabled:                        true

RSpec/Be:
  Enabled:                        true

RSpec/BeEql:
  Enabled:                        true

RSpec/BeforeAfterAll:
  Enabled:                        true
  Exclude:
    - 'spec/spec_helper.rb'
    - 'spec/rails_helper.rb'
    - 'spec/support/**/*.rb'

RSpec/ContextWording:
  Enabled:                        true
  Prefixes:
    - 'administrators'
    - 'anyone'
    - 'regular users'
    - 'when'
    - 'with'
    - 'without'

RSpec/DescribeClass:
  Enabled:                        true

RSpec/DescribeMethod:
  Enabled:                        true

RSpec/DescribeSymbol:
  Enabled:                        true

RSpec/DescribedClass:
  Enabled:                        true
  SkipBlocks:                     false
  EnforcedStyle:                  'explicit'

RSpec/EmptyExampleGroup:
  Enabled:                        false
  CustomIncludeMethods:           []

RSpec/EmptyLineAfterExampleGroup:
  Enabled:                        true

RSpec/EmptyLineAfterFinalLet:
  Enabled:                        true

RSpec/EmptyLineAfterHook:
  Enabled:                        true

RSpec/EmptyLineAfterSubject:
  Enabled:                        true
  Exclude:
    - '**/factories/*.rb'

RSpec/ExampleLength:
  Enabled:                        false
  Max:                            50

RSpec/ExampleWithoutDescription:
  Enabled:                        true
  EnforcedStyle:                  'single_line_only'

RSpec/ExampleWording:
  Enabled:                        true
  IgnoredWords:                   []

RSpec/ExpectActual:
  Enabled:                        true
  Exclude:
    - 'spec/routing/**/*'

RSpec/ExpectChange:
  Enabled:                        true
  EnforcedStyle:                  'method_call'

RSpec/ExpectInHook:
  Enabled:                        true

RSpec/ExpectOutput:
  Enabled:                        true

RSpec/FilePath:
  Enabled:                        false
  IgnoreMethods:                  false
  CustomTransform:
    RuboCop: 'rubocop'
    RSpec:   'rspec'

RSpec/Focus:
  Enabled:                        true

RSpec/HookArgument:
  Enabled:                        true
  EnforcedStyle:                  'each'

RSpec/HooksBeforeExamples:
  Enabled:                        true

RSpec/ImplicitExpect:
  Enabled:                        true
  EnforcedStyle:                  'is_expected'

RSpec/ImplicitSubject:
  Enabled:                        true
  EnforcedStyle:                  'single_statement_only'

RSpec/InstanceSpy:
  Enabled:                        true

RSpec/InstanceVariable:
  Enabled:                        true

RSpec/InvalidPredicateMatcher:
  Enabled:                        true

RSpec/ItBehavesLike:
  Enabled:                        true
  EnforcedStyle:                  'it_behaves_like'

RSpec/IteratedExpectation:
  Enabled:                        true

RSpec/LeadingSubject:
  Enabled:                        true

RSpec/LetBeforeExamples:
  Enabled:                        true

RSpec/LetSetup:
  Enabled:                        true

RSpec/MessageChain:
  Enabled:                        true

RSpec/MessageExpectation:
  Enabled:                        true
  EnforcedStyle:                  'allow'

RSpec/MessageSpies:
  Enabled:                        true
  EnforcedStyle:                  'have_received'

RSpec/MissingExampleGroupArgument:
  Enabled:                        true

RSpec/MultipleDescribes:
  Enabled:                        true

RSpec/MultipleExpectations:
  Enabled:                        false
  AggregateFailuresByDefault:     true
  Max:                            5

RSpec/MultipleSubjects:
  Enabled:                        true

RSpec/NamedSubject:
  Enabled:                        true
  IgnoreSharedExamples:           true

RSpec/NestedGroups:
  Enabled:                        true
  Max:                            1

RSpec/NotToNot:
  Enabled:                        true
  EnforcedStyle:                  'not_to'

RSpec/OverwritingSetup:
  Enabled:                        true

RSpec/Pending:
  Enabled:                        false

RSpec/PredicateMatcher:
  Enabled:                        true
  Strict:                         true
  EnforcedStyle:                  'inflected'

RSpec/ReceiveCounts:
  Enabled:                        true

RSpec/ReceiveNever:
  Enabled:                        true

RSpec/RepeatedDescription:
  Enabled:                        true

RSpec/RepeatedExample:
  Enabled:                        true

RSpec/ReturnFromStub:
  Enabled:                        true
  EnforcedStyle:                  'and_return'

RSpec/ScatteredLet:
  Enabled:                        true

RSpec/ScatteredSetup:
  Enabled:                        true

RSpec/SharedContext:
  Enabled:                        true

RSpec/SharedExamples:
  Enabled:                        true

RSpec/SingleArgumentMessageChain:
  Enabled:                        true

RSpec/SubjectStub:
  Enabled:                        true

RSpec/UnspecifiedException:
  Enabled:                        true

RSpec/VerifiedDoubles:
  Enabled:                        true
  IgnoreSymbolicNames:            false
  IgnoreNameless:                 false

RSpec/VoidExpect:
  Enabled:                        true

RSpec/Yield:
  Enabled:                        true
