forked from github/pages-gem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.rubocop.yml
142 lines (112 loc) · 3.56 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
# Ruby linting configuration.
# See https://github.com/styleguide/ruby for the Ruby style guide
# We only worry about two kinds of issues: 'error' and anything less than that.
# Error is not about severity, but about taste. Simple style choices that
# never have a great excuse to be broken, such as 1.9 JSON-like hash syntax,
# are errors. Choices that tend to have good exceptions in practice, such as
# line length, are warnings.
# If you'd like to make changes, a full list of available issues is at
# https://github.com/bbatsov/rubocop/blob/master/config/enabled.yml
#
# A list of configurable issues is at:
# https://github.com/bbatsov/rubocop/blob/master/config/default.yml
#
# If you disable a check, document why.
AllCops:
Exclude:
- 'bin/**/*'
- 'script/**/*'
- 'vendor/**/*'
- 'test-site/**/*'
Lint/EndAlignment:
Severity: error
Lint/RescueException:
Exclude:
- lib/pages_jekyll.rb
Lint/UnreachableCode:
Severity: error
Lint/AmbiguousRegexpLiteral:
Exclude:
- 'features/step_definitions/pages_steps.rb'
Style/StringLiterals:
EnforcedStyle: double_quotes
Severity: error
Style/StringLiteralsInInterpolation:
EnforcedStyle: double_quotes
Style/HashSyntax:
EnforcedStyle: hash_rockets
Severity: error
Style/AlignHash:
SupportedLastArgumentHashStyles: always_ignore
Style/AlignParameters:
Enabled: false # This is usually true, but we often want to roll back to
# the start of a line.
Style/Attr:
Enabled: false # We have no styleguide guidance here, and it seems to be
# in frequent use.
Style/ClassAndModuleChildren:
Enabled: false # module X<\n>module Y is just as good as module X::Y.
Style/Documentation:
Exclude:
- !ruby/regexp /spec\/.*.rb$/
- !ruby/regexp /features\/.*.rb$/
Metrics/ClassLength:
Exclude:
- !ruby/regexp /spec\/.*.rb$/
- !ruby/regexp /features\/.*.rb$/
Style/PercentLiteralDelimiters:
PreferredDelimiters:
'%w': '{}'
'%r': '{}'
Metrics/BlockLength:
Exclude:
- github-pages.gemspec
- !ruby/regexp /spec\/.*.rb/
Metrics/LineLength:
Max: 90
Severity: warning
Exclude:
- !ruby/regexp /spec\/.*.rb/
- !ruby/regexp /features\/.*.rb/
Style/MultilineTernaryOperator:
Severity: error
Style/AndOr:
Severity: error
Style/IndentationWidth:
Severity: error
Metrics/MethodLength:
CountComments: false # count full line comments?
Max: 20
Severity: error
Exclude:
- lib/github-pages.rb # Exclude the dependency hash method
Style/Alias:
Enabled: false # We have no guidance on alias vs alias_method
Style/RedundantSelf:
Enabled: false # Sometimes a self.field is a bit more clear
Style/IfUnlessModifier:
Enabled: false
Style/FileName: #Rubocop doesn't like the Git*H*ub namespace
Enabled: false
Metrics/CyclomaticComplexity: { Max: 8 }
Metrics/PerceivedComplexity: { Max: 8 }
Metrics/ParameterLists: { Max: 4 }
Metrics/AbcSize: { Max: 20 }
Style/IndentHash: { EnforcedStyle: consistent }
Style/SignalException: { EnforcedStyle: only_raise }
Style/MultilineMethodCallIndentation: { EnforcedStyle: indented }
Style/MultilineOperationIndentation: { EnforcedStyle: indented }
Style/FirstParameterIndentation: { EnforcedStyle: consistent }
Style/StringLiterals: { EnforcedStyle: double_quotes }
Style/IndentArray: { EnforcedStyle: consistent }
Style/ExtraSpacing: { AllowForAlignment: true }
Style/TrailingCommaInLiteral: { EnforcedStyleForMultiline: consistent_comma }
Style/PercentLiteralDelimiters:
PreferredDelimiters:
'%q': '{}'
'%Q': '{}'
'%r': '{}'
'%s': '()'
'%w': '()'
'%W': '()'
'%x': '()'