ted_rubocop_rules 0.1.0.pre.alpha.2 → 0.1.0.pre.alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ted_rubocop_rules/version.rb +1 -1
- data/rubocop.yml +277 -0
- metadata +4 -7
- data/.gitignore +0 -8
- data/Gemfile +0 -6
- data/Rakefile +0 -26
- data/ted_rubocop_rules.gemspec +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ced962e19ac9820623315af934e919d1e27c0835a1e5f33deaba8ad06c1114e1
|
4
|
+
data.tar.gz: dc098e02d14357e706882820465311021cefa919642c9fc3e0b463d2780cbef9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43b00cabb4da6981e5b6a464da9b20472ae7c4a964de64f7aaa138745ed09c8dd138f6dd446b9cce9a1189cc8217f6fd19b2cc016be04e6244b4948eb07df4e3
|
7
|
+
data.tar.gz: fa5571abc5fb800de9d359f3fd2e5480f4bd6c5248542e17453ba498420679bdbd9db512b23dd22f2efaa038ff5284ddfcb1378ebd8c8e72aa57bcd94f7a34e6
|
data/rubocop.yml
ADDED
@@ -0,0 +1,277 @@
|
|
1
|
+
# Check README.md for usage & style conventions.
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
# we will opt-in to the rules we want.
|
5
|
+
DisabledByDefault: true
|
6
|
+
DisplayCopNames: true
|
7
|
+
|
8
|
+
# Rubocop caches results per file, to speed up if the file is unchange. If we
|
9
|
+
# don't limit this, it can eat disk space:
|
10
|
+
# https://www.flowdock.com/app/ted/roadrunner/threads/e0sOqMR1lm1jQ7MEQxB4HgyJANM
|
11
|
+
MaxFilesInCache: 30
|
12
|
+
|
13
|
+
# don't check style on generated files.
|
14
|
+
Exclude:
|
15
|
+
- 'tmp/**/*'
|
16
|
+
- 'db/schema.rb'
|
17
|
+
- 'bin/*'
|
18
|
+
- 'spec/dummy/db/schema.rb'
|
19
|
+
- 'spec/dummy/bin/*'
|
20
|
+
- 'app/models/protobuf/**/*'
|
21
|
+
- 'node_modules/**/*'
|
22
|
+
- 'bower_components/**/*'
|
23
|
+
|
24
|
+
# DRY your Gemfile
|
25
|
+
Bundler/DuplicatedGem:
|
26
|
+
Enabled: true
|
27
|
+
Severity: warning
|
28
|
+
|
29
|
+
# alphabetize your Gemfile.
|
30
|
+
# if you like grouping them logically, a comment will be interpreted as the
|
31
|
+
# beginning of a new list.
|
32
|
+
Bundler/OrderedGems:
|
33
|
+
Enabled: true
|
34
|
+
Severity: warning
|
35
|
+
TreatCommentsAsGroupSeparators: true
|
36
|
+
|
37
|
+
# codifying current rubocop defaults
|
38
|
+
# establish our own baseline in case the project's defaults are changed
|
39
|
+
#
|
40
|
+
# flagging this as 'refactor'-level because they're so arbitrary
|
41
|
+
# tempted to do the same for cyclomatic complexity, perceived complexity, etc.
|
42
|
+
# will hold off on that for now, but PRs/discussion are welcome.
|
43
|
+
Metrics/AbcSize:
|
44
|
+
Enabled: true
|
45
|
+
Max: 25
|
46
|
+
Severity: refactor
|
47
|
+
|
48
|
+
# writing long var names as a way of self-documenting shouldn't be discouraged
|
49
|
+
# also allowing URLs & etc so as not to require artifically breaking apart
|
50
|
+
# non-code strings. (this is current default already, but let's be explicit.)
|
51
|
+
#
|
52
|
+
# "It's like writing on a roll of toilet paper." - George Riley
|
53
|
+
Layout/LineLength:
|
54
|
+
AllowHeredoc: true
|
55
|
+
AllowURI: true
|
56
|
+
Enabled: true
|
57
|
+
Max: 100
|
58
|
+
Severity: warning
|
59
|
+
URISchemes:
|
60
|
+
- http
|
61
|
+
- https
|
62
|
+
|
63
|
+
Metrics/MethodLength:
|
64
|
+
Enabled: true
|
65
|
+
Max: 25
|
66
|
+
Severity: refactor
|
67
|
+
|
68
|
+
# expect {
|
69
|
+
# a_thing
|
70
|
+
# }.to raise_error
|
71
|
+
#
|
72
|
+
# is fine.
|
73
|
+
Style/BlockDelimiters:
|
74
|
+
Enabled: true
|
75
|
+
EnforcedStyle: braces_for_chaining
|
76
|
+
Severity: warning
|
77
|
+
|
78
|
+
# comments explaining the purpose of a class are a good thing.
|
79
|
+
# but they're unecessary in a few cases:
|
80
|
+
#
|
81
|
+
# - migration classes. the purpose of a migration is obvious.
|
82
|
+
# - classes in a dummy application.
|
83
|
+
Style/Documentation:
|
84
|
+
Enabled: true
|
85
|
+
Severity: warning
|
86
|
+
Exclude:
|
87
|
+
- 'db/migrate/*'
|
88
|
+
- 'spec/dummy/**/*'
|
89
|
+
|
90
|
+
# Having a lot of code in a block is probably not a great thing. But in specs,
|
91
|
+
# it's actually great, because spec frameworks like RSpec use blocks to define
|
92
|
+
# scopes of specs. It seems like specs are not what this rule was aimed at.
|
93
|
+
#
|
94
|
+
# RSpec.describe User do
|
95
|
+
# # All your specs go in here.
|
96
|
+
# end
|
97
|
+
#
|
98
|
+
# Same goes for routes - those blocks can get pretty long.
|
99
|
+
# Borrowed from https://github.com/NobodysNightmare/rubocop/commit/99124543155b728b495560ab9e2a88ff597e1899#diff-e93280b3b31a6438c533a5f3232340d8R1179
|
100
|
+
Metrics/BlockLength:
|
101
|
+
Enabled: true
|
102
|
+
Severity: warning
|
103
|
+
ExcludedMethods:
|
104
|
+
- context
|
105
|
+
- describe
|
106
|
+
- it
|
107
|
+
- shared_examples
|
108
|
+
- shared_examples_for
|
109
|
+
- namespace
|
110
|
+
- draw
|
111
|
+
- define # for FactoryBot
|
112
|
+
- factory # for FactoryBot
|
113
|
+
- xdescribe
|
114
|
+
- xit
|
115
|
+
|
116
|
+
# cribbed from https://github.com/rails/rails/blob/1f7f872ac6c8b57af6e0117bde5f6c38d0bae923/.rubocop.yml
|
117
|
+
|
118
|
+
# Prefer &&/|| over and/or.
|
119
|
+
Style/AndOr:
|
120
|
+
Enabled: true
|
121
|
+
Severity: warning
|
122
|
+
|
123
|
+
# Indent private/protected/public as deep as method definitions
|
124
|
+
Layout/AccessModifierIndentation:
|
125
|
+
Enabled: true
|
126
|
+
Severity: warning
|
127
|
+
|
128
|
+
# Align `when` with `case`.
|
129
|
+
Layout/CaseIndentation:
|
130
|
+
Enabled: true
|
131
|
+
Severity: warning
|
132
|
+
|
133
|
+
# Align comments with method definitions.
|
134
|
+
Layout/CommentIndentation:
|
135
|
+
Enabled: true
|
136
|
+
Severity: warning
|
137
|
+
|
138
|
+
# Multi-line method chaining should be done with leading dots.
|
139
|
+
# Layout/DotPosition:
|
140
|
+
# Enabled: true # pending more consensus
|
141
|
+
# Severity: warning
|
142
|
+
|
143
|
+
Layout/EmptyLineAfterMagicComment:
|
144
|
+
Enabled: true
|
145
|
+
Severity: warning
|
146
|
+
|
147
|
+
# No extra empty lines.
|
148
|
+
Layout/EmptyLines:
|
149
|
+
Enabled: true
|
150
|
+
Severity: warning
|
151
|
+
|
152
|
+
# In a regular class definition, no empty lines around the body.
|
153
|
+
Layout/EmptyLinesAroundClassBody:
|
154
|
+
Enabled: true
|
155
|
+
Severity: warning
|
156
|
+
|
157
|
+
# In a regular method definition, no empty lines around the body.
|
158
|
+
Layout/EmptyLinesAroundMethodBody:
|
159
|
+
Enabled: true
|
160
|
+
Severity: warning
|
161
|
+
|
162
|
+
# In a regular module definition, no empty lines around the body.
|
163
|
+
Layout/EmptyLinesAroundModuleBody:
|
164
|
+
Enabled: true
|
165
|
+
Severity: warning
|
166
|
+
|
167
|
+
Layout/FirstArgumentIndentation:
|
168
|
+
Enabled: true
|
169
|
+
Severity: warning
|
170
|
+
|
171
|
+
# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
|
172
|
+
Style/HashSyntax:
|
173
|
+
Enabled: true
|
174
|
+
Severity: warning
|
175
|
+
|
176
|
+
# Indent consistently, who doesn't like that?
|
177
|
+
Layout/IndentationConsistency:
|
178
|
+
Enabled: true
|
179
|
+
Severity: warning
|
180
|
+
|
181
|
+
# Two spaces, no tabs (for indentation).
|
182
|
+
Layout/IndentationWidth:
|
183
|
+
Enabled: true
|
184
|
+
Severity: warning
|
185
|
+
|
186
|
+
Layout/SpaceAfterColon:
|
187
|
+
Enabled: true
|
188
|
+
Severity: warning
|
189
|
+
|
190
|
+
Layout/SpaceAfterComma:
|
191
|
+
Enabled: true
|
192
|
+
Severity: warning
|
193
|
+
|
194
|
+
Layout/SpaceAroundEqualsInParameterDefault:
|
195
|
+
Enabled: true
|
196
|
+
Severity: warning
|
197
|
+
|
198
|
+
Layout/SpaceAroundKeyword:
|
199
|
+
Enabled: true
|
200
|
+
Severity: warning
|
201
|
+
|
202
|
+
Layout/SpaceAroundOperators:
|
203
|
+
Enabled: true
|
204
|
+
Severity: warning
|
205
|
+
|
206
|
+
Layout/SpaceBeforeFirstArg:
|
207
|
+
Enabled: true
|
208
|
+
Severity: warning
|
209
|
+
|
210
|
+
# Defining a method with parameters needs parentheses.
|
211
|
+
Style/MethodDefParentheses:
|
212
|
+
Enabled: true
|
213
|
+
Severity: warning
|
214
|
+
|
215
|
+
# Use `foo {}` not `foo{}`.
|
216
|
+
Layout/SpaceBeforeBlockBraces:
|
217
|
+
Enabled: true
|
218
|
+
Severity: warning
|
219
|
+
|
220
|
+
# Use `foo { bar }` not `foo {bar}`.
|
221
|
+
Layout/SpaceInsideBlockBraces:
|
222
|
+
Enabled: true
|
223
|
+
Severity: warning
|
224
|
+
|
225
|
+
# Use `{ a: 1 }` not `{a:1}`.
|
226
|
+
Layout/SpaceInsideHashLiteralBraces:
|
227
|
+
Enabled: true
|
228
|
+
Severity: warning
|
229
|
+
|
230
|
+
Layout/SpaceInsideParens:
|
231
|
+
Enabled: true
|
232
|
+
Severity: warning
|
233
|
+
|
234
|
+
# Check quotes usage according to lint rule below.
|
235
|
+
# Style/StringLiterals:
|
236
|
+
# Enabled: true # pending more consensus
|
237
|
+
# Severity: warning
|
238
|
+
|
239
|
+
# Detect hard tabs, no hard tabs.
|
240
|
+
Layout/IndentationStyle:
|
241
|
+
Enabled: true
|
242
|
+
Severity: warning
|
243
|
+
|
244
|
+
# Blank lines should not have any spaces.
|
245
|
+
Layout/TrailingEmptyLines:
|
246
|
+
Enabled: true
|
247
|
+
Severity: warning
|
248
|
+
|
249
|
+
# No trailing whitespace.
|
250
|
+
Layout/TrailingWhitespace:
|
251
|
+
Enabled: true
|
252
|
+
Severity: warning
|
253
|
+
|
254
|
+
# Use quotes for string literals when they are enough.
|
255
|
+
Style/RedundantPercentQ:
|
256
|
+
Enabled: true
|
257
|
+
Severity: warning
|
258
|
+
|
259
|
+
Style/StabbyLambdaParentheses:
|
260
|
+
Enabled: true
|
261
|
+
EnforcedStyle: require_parentheses
|
262
|
+
Severity: warning
|
263
|
+
|
264
|
+
Style/SignalException:
|
265
|
+
Enabled: true
|
266
|
+
EnforcedStyle: only_raise
|
267
|
+
Severity: warning
|
268
|
+
|
269
|
+
# point out assignments to unused variables
|
270
|
+
Lint/UselessAssignment:
|
271
|
+
Enabled: true
|
272
|
+
Severity: refactor
|
273
|
+
|
274
|
+
# Throw a warning if someone leaves a `byebug` in the code
|
275
|
+
Lint/Debugger:
|
276
|
+
Enabled: true
|
277
|
+
Severity: warning
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ted_rubocop_rules
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.pre.alpha.
|
4
|
+
version: 0.1.0.pre.alpha.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Dean
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '13.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '13.0'
|
55
55
|
description: TED rubocop rules as a gem.
|
56
56
|
email:
|
57
57
|
- github@mostlyalex.com
|
@@ -59,11 +59,8 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
-
- ".gitignore"
|
63
|
-
- Gemfile
|
64
|
-
- Rakefile
|
65
62
|
- lib/ted_rubocop_rules/version.rb
|
66
|
-
-
|
63
|
+
- rubocop.yml
|
67
64
|
homepage: https://github.com/tedconf/code-style-guides/gem
|
68
65
|
licenses: []
|
69
66
|
metadata: {}
|
data/.gitignore
DELETED
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
require "bundler/gem_tasks"
|
2
|
-
require "yaml"
|
3
|
-
|
4
|
-
task :default => :spec
|
5
|
-
|
6
|
-
task :build do
|
7
|
-
this_dir = Pathname.new(File.expand_path('../', __FILE__))
|
8
|
-
|
9
|
-
source_file = this_dir.join('../linters/rubocop/rubocop.yml')
|
10
|
-
target_file = this_dir.join('rubocop.yml')
|
11
|
-
|
12
|
-
# be sure syntax is valid.
|
13
|
-
YAML.load_file source_file
|
14
|
-
|
15
|
-
# this will be a nuisance if you're doing repeated builds. sorry 'bout that.
|
16
|
-
#
|
17
|
-
# goal is to prevent people from inadvertently editing gem/rubocop.yml and
|
18
|
-
# having those edits wiped out by the build process. (a mistake which they
|
19
|
-
# might not notice until much later.)
|
20
|
-
if File.exist?(target_file)
|
21
|
-
raise "Please remove #{target_file} before building. Make any edits in #{source_file} instead."
|
22
|
-
end
|
23
|
-
|
24
|
-
# go ahead & copy if everything looks ok.
|
25
|
-
`cp #{source_file} #{target_file}`
|
26
|
-
end
|
data/ted_rubocop_rules.gemspec
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require "ted_rubocop_rules/version"
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = "ted_rubocop_rules"
|
8
|
-
spec.version = TedRubocopRules::VERSION
|
9
|
-
spec.authors = ["Alex Dean"]
|
10
|
-
spec.email = ["github@mostlyalex.com"]
|
11
|
-
|
12
|
-
spec.summary = %q{TED rubocop rules as a gem.}
|
13
|
-
spec.description = %q{TED rubocop rules as a gem.}
|
14
|
-
spec.homepage = "https://github.com/tedconf/code-style-guides/gem"
|
15
|
-
|
16
|
-
# Specify which files should be added to the gem when it is released.
|
17
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
18
|
-
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
19
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
|
-
end
|
21
|
-
spec.require_paths = ["lib"]
|
22
|
-
|
23
|
-
spec.add_dependency "rubocop", "= 0.86.0"
|
24
|
-
spec.add_development_dependency "bundler", "~> 1.17"
|
25
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
-
end
|