forked from puppetlabs/pdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.rubocop.yml
147 lines (112 loc) · 4.26 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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
require: rubocop-rspec
inherit_from: .rubocop_todo.yml
AllCops:
TargetRubyVersion: 2.1.9
Exclude:
# binstubs, and other utilities
- bin/**/*
- vendor/**/*
- vendor/**/.*
# package testing gems
- package-testing/vendor/**/*
- package-testing/vendor/**/.*
Layout/IndentHeredoc:
Description: The `squiggly` style would be preferable, but is only available from ruby 2.3. We'll enable this when we can.
Enabled: False
# 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/LineLength:
Description: People have wide screens, use them.
Max: 200
Metrics/MethodLength:
Enabled: False
Metrics/ModuleLength:
Enabled: False
Metrics/ParameterLists:
Enabled: False
Metrics/PerceivedComplexity:
Enabled: False
# RSpec cops
RSpec/BeforeAfterAll:
Description: Beware of using after(:all) as it may cause state to leak between tests. A necessary evil in acceptance testing.
Exclude:
- 'spec/acceptance/**/*.rb'
- 'package-testing/spec/package/**/*.rb'
RSpec/DescribeClass:
Description: This cop does not account for rspec-puppet, and beaker-rspec usage.
Enabled: False
RSpec/HookArgument:
Description: Prefer explicit :each argument, matching existing module's style
EnforcedStyle: each
RSpec/NestedGroups:
Description: Nested groups can lead to cleaner tests with less duplication
Max: 10
RSpec/ExampleLength:
Description: Forcing short examples leads to the creation of one-time use let() helpers
Enabled: False
RSpec/MessageSpies:
EnforcedStyle: receive
RSpec/ScatteredSetup:
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