-
Notifications
You must be signed in to change notification settings - Fork 60
/
.rubocop.yml
127 lines (95 loc) · 2.27 KB
/
.rubocop.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
inherit_from: .rubocop_todo.yml
# We break this rule to write S-expressions more succinctly.
AllCops:
NewCops: disable
SuggestExtensions: false
TargetRubyVersion: 3.0
Layout/ArrayAlignment:
Exclude:
- 'lib/slim_lint/filters/**/*.rb'
- 'lib/slim_lint/linter/**/*.rb'
- 'spec/slim_lint/**/*.rb'
Layout/DotPosition:
EnforcedStyle: leading
Layout/LineLength:
Max: 100
Layout/MultilineOperationIndentation:
Enabled: false
Lint/AmbiguousRegexpLiteral:
Enabled: false
Lint/AssignmentInCondition:
Enabled: false
Lint/Void:
Enabled: false
Metrics/BlockLength:
Exclude:
- 'spec/**/*.rb'
Metrics/MethodLength:
Max: 20
Metrics/AbcSize:
Max: 17
Naming/FileName:
Exclude:
- 'bin/slim-lint'
- 'Gemfile'
- 'Rakefile'
- '*.gemspec'
# Renaming `has_something?` to `something?` obfuscates whether it is a "is-a" or
# a "has-a" relationship.
Naming/PredicateName:
Enabled: false
# Enforcing this results in a lot of unnecessary indentation.
Style/ClassAndModuleChildren:
Enabled: false
Style/CollectionMethods:
Enabled: false
Style/Documentation:
Exclude:
- 'spec/**/*'
- 'lib/slim_lint/linter/zwsp.rb'
Style/FormatString:
Enabled: false
Style/GuardClause:
Enabled: false
Style/IfUnlessModifier:
Enabled: false
Style/Lambda:
Enabled: false
Style/NumericPredicate:
Enabled: false
# Prefer curly braces except for %i/%w/%W, since those return arrays.
Style/PercentLiteralDelimiters:
PreferredDelimiters:
'%': '{}'
'%i': '[]'
'%q': '{}'
'%Q': '{}'
'%r': '{}'
'%s': '()'
'%w': '[]'
'%W': '[]'
'%x': '{}'
Style/SignalException:
Enabled: false
# Forcing a particular name (e.g. |a, e|) for inject methods prevents you from
# choosing intention-revealing names.
Style/SingleLineBlockParams:
Enabled: false
Style/SpecialGlobalVars:
Enabled: false
Style/TrivialAccessors:
Enabled: false
Style/TrailingCommaInArguments:
Enabled: false
Style/TrailingCommaInArrayLiteral:
Enabled: false
Style/TrailingCommaInHashLiteral:
Enabled: false
# Disabling some new rubocop 0.48 cops to avoid distracting clutter in a PR
# (Should be enabled and auto-corrected in a follow-up PR.)
Style/InverseMethods:
Enabled: false
Style/SymbolArray:
Enabled: false
Style/MutableConstant:
Enabled: false