-
Notifications
You must be signed in to change notification settings - Fork 2
/
.rubocop.yml
116 lines (88 loc) · 3.3 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
AllCops:
TargetRubyVersion: "2.6"
Exclude:
- "spec/fixtures/**/*"
- "vendor/**/*"
# This is part of jekylls loading convention
Naming/FileName:
Exclude:
- "lib/cheesy-gallery.rb"
# A more modern default
Layout/LineLength:
Max: 200
# don't deviate from the default template too much
Style/GuardClause:
Exclude:
- "cheesy-gallery.gemspec"
# Metrics, excludes complexity and sizing metrics for now, as ruby's defaults are very strict
Metrics/AbcSize:
Enabled: False
Metrics/BlockLength:
Description: rspec uses long describe blocks, so allow long blocks under spec/
Enabled: False
Exclude:
- "spec/**/*.rb"
Metrics/ClassLength:
Enabled: False
Metrics/CyclomaticComplexity:
Enabled: False
Metrics/MethodLength:
Enabled: False
Metrics/ModuleLength:
Enabled: False
Metrics/ParameterLists:
Enabled: False
Metrics/PerceivedComplexity:
Enabled: False
# Style Cops
Style/AsciiComments:
Description: Names, non-english speaking communities.
Enabled: False
Style/BlockDelimiters:
Description: Prefer braces for chaining. Mostly an aesthetical choice. Better to be consistent then.
EnforcedStyle: braces_for_chaining
Style/ClassAndModuleChildren:
Description: Compact style reduces the required amount of indentation.
EnforcedStyle: compact
Style/EmptyElse:
Description: Enforce against empty else clauses, but allow `nil` for clarity.
EnforcedStyle: empty
Style/FormatString:
Description: Following the main puppet project's style, prefer the % format format.
EnforcedStyle: percent
Style/FormatStringToken:
Description: Following the main puppet project's style, prefer the simpler template tokens over annotated ones.
EnforcedStyle: template
Style/IfUnlessModifier:
Description: Post-fix `if` modifiers are hard to parse for newcomers. We don't want to encourage them. Post-fix `unless` modifiers could be nice in some cases, but the Cop doesn't differentiate.
Enabled: false
Style/Lambda:
Description: Prefer the keyword for easier discoverability.
EnforcedStyle: literal
Style/MethodCalledOnDoEndBlock:
Enabled: true
Style/RegexpLiteral:
Description: Community preference. See https://github.com/voxpupuli/modulesync_config/issues/168
EnforcedStyle: percent_r
Style/SymbolProc:
Description: SymbolProc notation is not discoverable
Enabled: false
Style/TernaryParentheses:
Description: Checks for use of parentheses around ternary conditions. Enforce parentheses on complex expressions for better readability, but seriously consider breaking it up.
EnforcedStyle: require_parentheses_when_complex
Style/TrailingCommaInArguments:
Description: Prefer always trailing comma on multiline argument lists. This makes diffs, and re-ordering nicer.
EnforcedStyleForMultiline: comma
Style/TrailingCommaInArrayLiteral:
Description: Prefer always trailing comma on multiline literals. This makes diffs, and re-ordering nicer.
EnforcedStyleForMultiline: comma
Style/TrailingCommaInHashLiteral:
Description: Prefer always trailing comma on multiline literals. This makes diffs, and re-ordering nicer.
EnforcedStyleForMultiline: comma
Style/SymbolArray:
Description: Using percent style obscures symbolic intent of array's contents.
Enabled: true
EnforcedStyle: brackets
# Enforce LF line endings, even when on Windows
Layout/EndOfLine:
EnforcedStyle: lf