Merge remote-tracking branch 'upstream/pull/2917' into master
[rails.git] / .rubocop.yml
1 inherit_from: .rubocop_todo.yml
2
3 require:
4   - rubocop-minitest
5   - rubocop-performance
6   - rubocop-rails
7
8 AllCops:
9   TargetRubyVersion: 2.7
10   NewCops: enable
11   Exclude:
12     - 'vendor/**/*'
13
14 Rails:
15   Enabled: true
16
17 Layout/ExtraSpacing:
18   AllowForAlignment: true
19
20 Lint/PercentStringArray:
21   Exclude:
22     - 'config/initializers/secure_headers.rb'
23     - 'app/controllers/application_controller.rb'
24     - 'app/controllers/site_controller.rb'
25
26 Metrics/BlockLength:
27   Exclude:
28     - 'config/routes.rb'
29
30 Metrics/ClassLength:
31   Exclude:
32     - 'test/**/*'
33
34 Metrics/ModuleLength:
35   Max: 150
36
37 Naming/FileName:
38   Exclude:
39     - 'script/deliver-message'
40     - 'script/update-spam-blocks'
41
42 Naming/MethodParameterName:
43   Enabled: false
44
45 Rails/CreateTableWithTimestamps:
46   Enabled: false
47
48 Rails/FindEach:
49   Enabled: false
50
51 Rails/HasManyOrHasOneDependent:
52   Enabled: false
53
54 Rails/HttpPositionalArguments:
55   Enabled: false
56
57 Rails/InverseOf:
58   Enabled: false
59
60 Rails/SkipsModelValidations:
61   Exclude:
62     - 'db/migrate/*.rb'
63     - 'app/controllers/users_controller.rb'
64
65 Style/Documentation:
66   Enabled: false
67
68 Style/FormatStringToken:
69   Exclude:
70     - 'config/routes.rb'
71
72 Style/IfInsideElse:
73   Enabled: false
74
75 Style/GuardClause:
76   Enabled: false
77
78 Style/HashEachMethods:
79   Enabled: true
80
81 Style/HashSyntax:
82   EnforcedStyle: hash_rockets
83   Exclude:
84     - 'lib/tasks/testing.rake'
85     - 'config/initializers/wrap_parameters.rb'
86
87 Style/HashTransformKeys:
88   Enabled: true
89
90 Style/HashTransformValues:
91   Enabled: true
92
93 Style/MixinUsage:
94   Exclude:
95     - 'bin/setup'
96     - 'bin/update'
97
98 Style/StringLiterals:
99   EnforcedStyle: double_quotes
100
101 Style/SymbolArray:
102   EnforcedStyle: brackets