forked from reidmorrison/symmetric-encryption
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.rubocop.yml
143 lines (112 loc) · 2.51 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
AllCops:
TargetRubyVersion: 2.3
Exclude:
- 'gemfiles/*'
- '.git/**/*'
- 'docs/**/*'
#
# Layout
#
# Match existing layout
Layout/AlignHash:
EnforcedHashRocketStyle: table
EnforcedColonStyle: table
# Match existing layout
Layout/BlockAlignment:
EnforcedStyleAlignWith: start_of_block
# Phase 2:
# Layout/ClassStructure
# Enabled: true
Layout/ConditionPosition:
Enabled: true
# Match existing layout
Layout/DotPosition:
AutoCorrect: true
EnforcedStyle: trailing
Layout/EndAlignment:
AutoCorrect: true
# Prevent accidental windows line endings
Layout/EndOfLine:
EnforcedStyle: lf
# ForceEqualSignAlignment is broken, see https://github.com/rubocop-hq/rubocop/pull/5696
Layout/ExtraSpacing:
AllowForAlignment: true
ForceEqualSignAlignment: true
AutoCorrect: true
# Pick one
Layout/IndentHeredoc:
EnforcedStyle: squiggly
Layout/RescueEnsureAlignment:
AutoCorrect: true
# Rubocop cannot yet see beyond one line above or below, when aligning =
Layout/SpaceAroundOperators:
AllowForAlignment: true
AutoCorrect: true
# Match existing layout
Layout/SpaceInsideHashLiteralBraces:
EnforcedStyle: no_space
EnforcedStyleForEmptyBraces: no_space
# Files must end with a blank line
Layout/TrailingBlankLines:
EnforcedStyle: final_newline
# TODO: Soften Limits for phase 1 only
Metrics/AbcSize:
Max: 80
# Support long block lengths for tests
Metrics/BlockLength:
Exclude:
- '**/test/**/*'
# Soften limits
Metrics/ClassLength:
Max: 250
Exclude:
- '**/test/**/*'
# TODO: Soften Limits for phase 1 only
Metrics/CyclomaticComplexity:
Max: 15
# Soften limits
Metrics/LineLength:
Max: 128
Exclude:
- 'cli.rb'
- '**/test/**/*'
# Soften limits
Metrics/MethodLength:
Max: 250
# Soften limits
Metrics/ModuleLength:
Max: 250
Metrics/ParameterLists:
CountKeywordArgs: false
# TODO: Soften Limits for phase 1 only
Metrics/PerceivedComplexity:
Max: 21
# ip is IP Address
Naming/UncommunicativeMethodParamName:
AllowedNames:
- ip
- id
- iv
- _
- io
- ap
# Does not allow Symbols to load
Security/YAMLLoad:
AutoCorrect: false
# TODO: Soften Limits for phase 1 only
Style/Documentation:
Enabled: false
# One line methods
Style/EmptyMethod:
EnforcedStyle: expanded
# Ruby 3 compatibility feature
Style/FrozenStringLiteralComment:
Enabled: false
Style/NumericPredicate:
AutoCorrect: true
# Incorrectly changes job.fail to job.raise
Style/SignalException:
Enabled: false
# Since English may not be loaded, cannot force its use.
Style/SpecialGlobalVars:
Enabled: false