.rubocop.yml
inherit_from:
- .rubocop_todo.yml
inherit_mode:
merge:
- Exclude
require:
- rubocop-capybara
- rubocop-factory_bot
- rubocop-performance
- rubocop-rails
- rubocop-rake
- rubocop-rspec
- rubocop-rspec_rails
AllCops:
NewCops: enable
Exclude:
- bin/bundle
- bin/yarn
- config/initializers/pagy.rb
- config/initializers/strong_migrations.rb
- db/schema.rb
- node_modules/**/*
Layout/ClassStructure:
Enabled: true
Layout/LineLength:
Exclude:
- db/**/*
Layout/SpaceBeforeFirstArg:
Exclude:
- app/views/api/**/**/*
Lint/AmbiguousBlockAssociation:
AllowedMethods: change
Lint/BinaryOperatorWithIdenticalOperands:
Enabled: false
Lint/DeprecatedOpenSSLConstant:
Enabled: false
Lint/RaiseException:
Enabled: false
Metrics/AbcSize:
Max: 15
Exclude:
- db/**/*
Metrics/BlockLength:
Exclude:
- app/admin/**/*
- config/**/*
- spec/**/*
Metrics/BlockNesting:
Max: 4
Metrics/ClassLength:
Max: 200
Metrics/CyclomaticComplexity:
Max: 6
Metrics/MethodLength:
Max: 24
Metrics/ModuleLength:
Max: 200
Metrics/PerceivedComplexity:
Max: 12
Naming/RescuedExceptionsVariableName:
Enabled: false
Rails/FilePath:
Enabled: false
Rails/SaveBang:
Enabled: true
RSpec/ExampleLength:
Enabled: false
RSpec/MultipleExpectations:
Enabled: false
RSpec/NamedSubject:
Enabled: false
Style/ArrayCoercion:
Enabled: true
Style/BlockDelimiters:
EnforcedStyle: braces_for_chaining
Style/Documentation:
Enabled: false
Style/ExpandPathArguments:
Enabled: false
Style/GlobalStdStream:
Enabled: false
Style/HashEachMethods:
Enabled: false
Style/HashLikeCase:
MinBranchesCount: 4
Style/HashTransformKeys:
Enabled: false
Style/HashTransformValues:
Enabled: false
Style/ModuleFunction:
Enabled: false
Style/RedundantFetchBlock:
Enabled: false
Style/RedundantFileExtensionInRequire:
Enabled: false
Style/RedundantRegexpCharacterClass:
Enabled: false
Style/ReturnNil:
Enabled: true
Style/SlicingWithRange:
Enabled: false
Style/StringConcatenation:
Enabled: false
RSpec/Capybara/FeatureMethods:
EnabledMethods:
- feature
- scenario