github_bot 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: eb400bd3151dbb9d477b4150cf7b3e5ebc61b070cfd5597a6d23c816fdc7ca44
4
+ data.tar.gz: 1411caee2a3eac409d5c09ee2a0f522e9f56159cd35596fec8e719ab108c57e3
5
+ SHA512:
6
+ metadata.gz: b0aa4c7ca622fd31fbd0bf5ae8aef357389c08ff9098d6e2898570d022423e1b2bb281a65e7b0a0fbfdcd3bcd827210ce4f366788c44fb3660b61aee58ee5a9e
7
+ data.tar.gz: 91aa6cecdc0f881ff3a308c3e073083686ff740ecd2ce4d981d7b4a29ddbb5cc60104feb447a9f35f5c67023e88cc3a6a3526a3d68c70fc3527faa7d3ff31f45
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: "\U0001F41E Bug report"
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ > Before reporting a bug
11
+ - [ ] Check the bug is reproducible.
12
+ - [ ] Search for [existing issues](https://github.com/poloka/github_bot-ruby/issues).
13
+
14
+ **Describe the bug**
15
+ A clear and concise description of what the bug is.
16
+
17
+ **To Reproduce**
18
+ Steps to reproduce the behavior:
19
+ 1. Execute command '...'
20
+ 2. See error
21
+
22
+ **Expected behavior**
23
+ A clear and concise description of what you expected to happen.
24
+
25
+ **Screenshots**
26
+ If applicable, add screenshots to help explain your problem.
27
+
28
+ **Desktop (please complete the following information):**
29
+ - OS: [e.g. Mac, Windows]
30
+
31
+ **Additional context**
32
+ Add any other context about the problem here including a link to a repository demonstrating the reproducible issue.
@@ -0,0 +1,6 @@
1
+ ---
2
+ blank_issues_enabled: false
3
+ contact_links:
4
+ - name: GitHub Community Support
5
+ url: https://github.com/poloka/github_bot-ruby/discussions
6
+ about: Please ask and answer questions and propose new features.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: "\U0001F680 New Feature Request"
3
+ about: Propose a new feature
4
+ title: ''
5
+ labels: feature
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **What problem are you trying to solve? Please describe.**
11
+ > Eg. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+
14
+ **The ideal solution: What should the feature should do?**
15
+ > A clear and concise description of what you want to happen.
16
+
17
+
18
+ **If you have code or pseudo-code please provide:**
19
+
20
+ <!-- Put your code examples here -->
21
+ ```ruby
22
+
23
+ ```
24
+
25
+ - [ ] Willing to submit a pull request to implement this feature?
26
+
27
+ **Additional context**
28
+ Add any other context or screenshots about the feature request here.
29
+
30
+ Thank you for your contribution!
@@ -0,0 +1,32 @@
1
+ ## Description of Changes
2
+ <!--Describe (in detail) the changes in the pull request here.-->
3
+
4
+ ## Motivation and Context
5
+ <!--Why is this change required? What problem does it solve? What does this add?-->
6
+
7
+ ## How Has This Been Tested?
8
+ <!--Describe in detail how these changes have been tested (include environment/devices).-->
9
+
10
+ ## Type of change
11
+ <!--Put an 'x' in all of the boxes that apply.-->
12
+ - [ ] Bug fix (non-breaking change which fixes an issue)
13
+ - [ ] New feature (non-breaking change which adds functionality)
14
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
15
+ - [ ] This change requires a documentation update
16
+ - [ ] Release activity
17
+
18
+ ## Checklist:
19
+ <!--Put an 'x' in all of the boxes to assure following guidance.-->
20
+ Following the [Contributing Guidelines][3]
21
+ - [ ] My code follows the style guidelines of this project
22
+ - [ ] I have performed a self-review of my own code
23
+ - [ ] I have made corresponding changes to the documentation
24
+ - [ ] I have added tests that prove my fix is effective or that my feature works and they pass when merging upstream
25
+ - [ ] I have added an entry to the [Changelog][2] accordingly
26
+ - [ ] I have added my name to the [CONTRIBUTORS.md][1]
27
+ - [ ] I have [squashed related commits][4]
28
+
29
+ [1]: ./CONTRIBUTORS.md
30
+ [2]: ./CHANGELOG.md
31
+ [3]: ./CONTRIBUTING.md
32
+ [4]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: CD
3
+
4
+ on:
5
+ release:
6
+ types:
7
+ - published
8
+
9
+ jobs:
10
+ tests:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ ruby:
16
+ - 2.7
17
+ name: Ruby-${{matrix.ruby}}
18
+ steps:
19
+ - name: Check out
20
+ uses: actions/checkout@v2
21
+ - name: Setup ruby and bundle
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ bundler-cache: true
25
+ ruby-version: ${{ matrix.ruby }}
26
+ - name: Install dependencies
27
+ run: bundle install --jobs 4 --retry 3
28
+ - name: Run tests
29
+ run: bundle exec rspec
30
+ - name: Run Rubocop
31
+ run: bundle exec rubocop
32
+ release:
33
+ runs-on: ubuntu-latest
34
+ name: Release to RubyGems
35
+ steps:
36
+ - uses: actions/checkout@v2
37
+ - uses: ruby/setup-ruby@v1
38
+ with:
39
+ bundler-cache: true
40
+ ruby-version: ${{ matrix.ruby }}
41
+ - name: Install dependencies
42
+ run: bundle install --jobs 4 --retry 3
43
+ - name: Publish to RubyGems
44
+ run: |
45
+ mkdir -p $HOME/.gem
46
+ touch $HOME/.gem/credentials
47
+ chmod 0600 $HOME/.gem/credentials
48
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
49
+ gem build *.gemspec
50
+ gem push *.gem
51
+ env:
52
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
53
+
@@ -0,0 +1,39 @@
1
+ ---
2
+ #CI will run on all pushes and PRs to verify validity of the code
3
+ name: CI
4
+
5
+ on:
6
+ push:
7
+ branches: ['**']
8
+ pull_request:
9
+ branches: ['main']
10
+ schedule:
11
+ - cron: '0 1 * * SUN'
12
+
13
+ jobs:
14
+ tests:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby:
20
+ - 2.6
21
+ - 2.7
22
+ - 3.0
23
+ name: Ruby-${{matrix.ruby}}
24
+ continue-on-error: ${{matrix.ruby == 'head'}}
25
+ steps:
26
+ - name: Check out
27
+ uses: actions/checkout@v2
28
+ - name: Setup ruby and bundle
29
+ uses: ruby/setup-ruby@v1
30
+ with:
31
+ bundler-cache: true
32
+ ruby-version: ${{ matrix.ruby }}
33
+ - name: Install dependencies
34
+ run: bundle install --jobs 4 --retry 3
35
+ - name: Run tests
36
+ run: bundle exec rspec
37
+ - name: Run Rubocop
38
+ run: bundle exec rubocop
39
+
data/.gitignore ADDED
@@ -0,0 +1,23 @@
1
+ .DS_Store
2
+ *.gem
3
+ *.rbc
4
+ Gemfile.lock
5
+ .config
6
+ .bundle
7
+ .yardoc
8
+ _yardoc
9
+ coverage
10
+ doc
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ log/*.log
19
+ coverage/
20
+ .idea
21
+ spec/internal/log
22
+ target
23
+ build
data/.rspec ADDED
@@ -0,0 +1,4 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
4
+ --order random
data/.rubocop.yml ADDED
@@ -0,0 +1,927 @@
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rspec
4
+ - rubocop-rake
5
+
6
+ AllCops:
7
+ TargetRubyVersion: 2.6
8
+ DisabledByDefault: true
9
+ Exclude:
10
+ - 'bin/{bundle,bundle-audit,bundler-audit,rake,rspec,rubocop}'
11
+ - 'target/**/*'
12
+ - 'vendor/**/*'
13
+ - 'build/**/*'
14
+ - 'pkg/**/*'
15
+ - 'tmp/**/*'
16
+ - 'spec/**/*'
17
+
18
+ # Bundler Cop Configuration
19
+ # https://docs.rubocop.org/en/stable/cops_bundler/
20
+
21
+ Bundler/DuplicatedGem:
22
+ Enabled: true
23
+ Bundler/GemComment:
24
+ # Disabled. Comments for each gem declaration are not required.
25
+ Enabled: false
26
+ Bundler/InsecureProtocolSource:
27
+ Enabled: true
28
+ Bundler/OrderedGems:
29
+ Enabled: true
30
+
31
+ # Gemspec Cop Configuration
32
+ # https://docs.rubocop.org/en/stable/cops_gemspec/
33
+
34
+ Gemspec/DuplicatedAssignment:
35
+ Enabled: true
36
+ Gemspec/OrderedDependencies:
37
+ Enabled: true
38
+ Gemspec/RequiredRubyVersion:
39
+ Enabled: true
40
+ Gemspec/RubyVersionGlobalsUsage:
41
+ Enabled: true
42
+
43
+ # Layout Cop Configuration
44
+ # https://docs.rubocop.org/en/stable/cops_layout/
45
+
46
+ Layout/AccessModifierIndentation:
47
+ Enabled: true
48
+ Layout/ArgumentAlignment:
49
+ Enabled: true
50
+ Layout/ArrayAlignment:
51
+ Enabled: true
52
+ Layout/AssignmentIndentation:
53
+ Enabled: true
54
+ Layout/BlockAlignment:
55
+ Enabled: true
56
+ Layout/BlockEndNewline:
57
+ Enabled: true
58
+ Layout/CaseIndentation:
59
+ Enabled: true
60
+ Layout/ClassStructure:
61
+ Enabled: true
62
+ Layout/ClosingHeredocIndentation:
63
+ Enabled: true
64
+ Layout/ClosingParenthesisIndentation:
65
+ Enabled: true
66
+ Layout/CommentIndentation:
67
+ Enabled: true
68
+ Layout/ConditionPosition:
69
+ Enabled: true
70
+ Layout/DefEndAlignment:
71
+ Enabled: true
72
+ Layout/DotPosition:
73
+ Enabled: true
74
+ Layout/ElseAlignment:
75
+ Enabled: true
76
+ Layout/EmptyComment:
77
+ Enabled: true
78
+ Layout/EmptyLineAfterGuardClause:
79
+ Enabled: true
80
+ Layout/EmptyLineAfterMagicComment:
81
+ Enabled: true
82
+ Layout/EmptyLineBetweenDefs:
83
+ Enabled: true
84
+ Layout/EmptyLines:
85
+ Enabled: true
86
+ Layout/EmptyLinesAroundAccessModifier:
87
+ Enabled: true
88
+ Layout/EmptyLinesAroundArguments:
89
+ Enabled: true
90
+ Layout/EmptyLinesAroundBeginBody:
91
+ Enabled: true
92
+ Layout/EmptyLinesAroundBlockBody:
93
+ Enabled: true
94
+ Layout/EmptyLinesAroundClassBody:
95
+ Enabled: true
96
+ Layout/EmptyLinesAroundExceptionHandlingKeywords:
97
+ Enabled: true
98
+ Layout/EmptyLinesAroundMethodBody:
99
+ Enabled: true
100
+ Layout/EmptyLinesAroundModuleBody:
101
+ Enabled: true
102
+ Layout/EndAlignment:
103
+ Enabled: true
104
+ Layout/EndOfLine:
105
+ Enabled: true
106
+ Layout/ExtraSpacing:
107
+ Enabled: true
108
+ Layout/FirstArgumentIndentation:
109
+ Enabled: true
110
+ Layout/FirstArrayElementIndentation:
111
+ Enabled: true
112
+ Layout/FirstArrayElementLineBreak:
113
+ Enabled: true
114
+ Layout/FirstHashElementLineBreak:
115
+ Enabled: true
116
+ Layout/FirstHashElementIndentation:
117
+ Enabled: true
118
+ Layout/FirstMethodArgumentLineBreak:
119
+ Enabled: true
120
+ Layout/FirstMethodParameterLineBreak:
121
+ Enabled: true
122
+ Layout/FirstParameterIndentation:
123
+ Enabled: true
124
+ Layout/HashAlignment:
125
+ Enabled: true
126
+ Layout/HeredocArgumentClosingParenthesis:
127
+ Enabled: true
128
+ Layout/HeredocIndentation:
129
+ Enabled: true
130
+ Layout/IndentationConsistency:
131
+ Enabled: true
132
+ Layout/IndentationStyle:
133
+ Enabled: true
134
+ EnforcedStyle: spaces
135
+ IndentationWidth: 2
136
+ Layout/IndentationWidth:
137
+ Enabled: true
138
+ Layout/InitialIndentation:
139
+ Enabled: true
140
+ Layout/LeadingEmptyLines:
141
+ Enabled: true
142
+ Layout/LeadingCommentSpace:
143
+ Enabled: true
144
+ Layout/LineLength:
145
+ # Lines are allowed to be a maximum of 120 characters. However, it is suggested that, in practice,
146
+ # line should be kept to a maximum of 100 for readability, especially within comments.
147
+ Enabled: true
148
+ AutoCorrect: true
149
+ Max: 120
150
+ Layout/MultilineArrayBraceLayout:
151
+ Enabled: true
152
+ Layout/MultilineArrayLineBreaks:
153
+ Enabled: true
154
+ Layout/MultilineAssignmentLayout:
155
+ Enabled: true
156
+ Layout/MultilineBlockLayout:
157
+ Enabled: true
158
+ Layout/MultilineHashBraceLayout:
159
+ Enabled: true
160
+ Layout/MultilineHashKeyLineBreaks:
161
+ Enabled: true
162
+ Layout/MultilineMethodArgumentLineBreaks:
163
+ Enabled: true
164
+ Layout/MultilineMethodCallBraceLayout:
165
+ Enabled: true
166
+ Layout/MultilineMethodCallIndentation:
167
+ Enabled: true
168
+ Layout/MultilineMethodDefinitionBraceLayout:
169
+ Enabled: true
170
+ Layout/MultilineOperationIndentation:
171
+ Enabled: true
172
+ Layout/ParameterAlignment:
173
+ Enabled: true
174
+ Layout/RescueEnsureAlignment:
175
+ Enabled: true
176
+ Layout/SpaceAfterColon:
177
+ Enabled: true
178
+ Layout/SpaceAfterComma:
179
+ Enabled: true
180
+ Layout/SpaceAfterMethodName:
181
+ Enabled: true
182
+ Layout/SpaceAfterNot:
183
+ Enabled: true
184
+ Layout/SpaceAfterSemicolon:
185
+ Enabled: true
186
+ Layout/SpaceAroundBlockParameters:
187
+ Enabled: true
188
+ Layout/SpaceAroundEqualsInParameterDefault:
189
+ Enabled: true
190
+ Layout/SpaceAroundKeyword:
191
+ Enabled: true
192
+ Layout/SpaceAroundMethodCallOperator:
193
+ Enabled: true
194
+ Layout/SpaceAroundOperators:
195
+ Enabled: true
196
+ Layout/SpaceBeforeBlockBraces:
197
+ Enabled: true
198
+ Layout/SpaceBeforeComma:
199
+ Enabled: true
200
+ Layout/SpaceBeforeComment:
201
+ Enabled: true
202
+ Layout/SpaceBeforeFirstArg:
203
+ Enabled: true
204
+ Layout/SpaceBeforeSemicolon:
205
+ Enabled: true
206
+ Layout/SpaceInLambdaLiteral:
207
+ Enabled: true
208
+ Layout/SpaceInsideArrayLiteralBrackets:
209
+ Enabled: true
210
+ Layout/SpaceInsideArrayPercentLiteral:
211
+ Enabled: true
212
+ Layout/SpaceInsideBlockBraces:
213
+ Enabled: true
214
+ Layout/SpaceInsideHashLiteralBraces:
215
+ Enabled: true
216
+ Layout/SpaceInsideParens:
217
+ Enabled: true
218
+ Layout/SpaceInsidePercentLiteralDelimiters:
219
+ Enabled: true
220
+ Layout/SpaceInsideRangeLiteral:
221
+ Enabled: true
222
+ Layout/SpaceInsideReferenceBrackets:
223
+ Enabled: true
224
+ Layout/SpaceInsideStringInterpolation:
225
+ Enabled: true
226
+ Layout/TrailingEmptyLines:
227
+ Enabled: true
228
+ Layout/TrailingWhitespace:
229
+ Enabled: true
230
+
231
+ # Lint Cop Configuration
232
+ # https://docs.rubocop.org/en/stable/cops_lint/
233
+
234
+ Lint/AmbiguousBlockAssociation:
235
+ Enabled: true
236
+ Lint/AmbiguousOperator:
237
+ Enabled: true
238
+ Lint/AmbiguousRegexpLiteral:
239
+ Enabled: true
240
+ Lint/AssignmentInCondition:
241
+ Enabled: true
242
+ Lint/BigDecimalNew:
243
+ Enabled: true
244
+ # Supercedes Lint/UselessComparison in rubocop 0.89.
245
+ Lint/BinaryOperatorWithIdenticalOperands:
246
+ Enabled: true
247
+ Lint/BooleanSymbol:
248
+ Enabled: true
249
+ Lint/CircularArgumentReference:
250
+ Enabled: true
251
+ Lint/Debugger:
252
+ Enabled: true
253
+ Lint/DeprecatedClassMethods:
254
+ Enabled: true
255
+ Lint/DisjunctiveAssignmentInConstructor:
256
+ Enabled: true
257
+ Lint/DuplicateCaseCondition:
258
+ Enabled: true
259
+ Lint/DuplicateMethods:
260
+ Enabled: true
261
+ Lint/DuplicateHashKey:
262
+ Enabled: true
263
+ Lint/EachWithObjectArgument:
264
+ Enabled: true
265
+ Lint/ElseLayout:
266
+ Enabled: true
267
+ Lint/EmptyEnsure:
268
+ Enabled: true
269
+ Lint/EmptyExpression:
270
+ Enabled: true
271
+ Lint/EmptyInterpolation:
272
+ Enabled: true
273
+ Lint/EmptyWhen:
274
+ Enabled: true
275
+ Lint/EnsureReturn:
276
+ Enabled: true
277
+ Lint/ErbNewArguments:
278
+ Enabled: true
279
+ Lint/FlipFlop:
280
+ Enabled: true
281
+ Lint/FloatOutOfRange:
282
+ Enabled: true
283
+ Lint/FormatParameterMismatch:
284
+ Enabled: true
285
+ Lint/HeredocMethodCallPosition:
286
+ Enabled: true
287
+ Lint/ImplicitStringConcatenation:
288
+ Enabled: true
289
+ Lint/IneffectiveAccessModifier:
290
+ Enabled: true
291
+ Lint/InheritException:
292
+ Enabled: true
293
+ Lint/InterpolationCheck:
294
+ Enabled: true
295
+ Lint/LiteralAsCondition:
296
+ Enabled: true
297
+ Lint/LiteralInInterpolation:
298
+ Enabled: true
299
+ Lint/Loop:
300
+ Enabled: true
301
+ Lint/MissingCopEnableDirective:
302
+ Enabled: true
303
+ Lint/MissingSuper:
304
+ # Disabled. This cop is well-meaning, but doesn't provide exemption of cases where invocation of
305
+ # super is not possible. Supercedes Style/MethodMissingSuper in rubocop 0.89.
306
+ Enabled: false
307
+ Lint/MultipleComparison:
308
+ Enabled: true
309
+ Lint/NestedMethodDefinition:
310
+ Enabled: true
311
+ Lint/NestedPercentLiteral:
312
+ Enabled: true
313
+ Lint/NextWithoutAccumulator:
314
+ Enabled: true
315
+ Lint/NonLocalExitFromIterator:
316
+ Enabled: true
317
+ Lint/NumberConversion:
318
+ Enabled: false
319
+ Lint/OrderedMagicComments:
320
+ Enabled: true
321
+ Lint/ParenthesesAsGroupedExpression:
322
+ Enabled: true
323
+ Lint/PercentStringArray:
324
+ Enabled: true
325
+ Lint/PercentSymbolArray:
326
+ Enabled: true
327
+ Lint/RandOne:
328
+ Enabled: true
329
+ Lint/RedundantCopDisableDirective:
330
+ Enabled: true
331
+ Lint/RedundantCopEnableDirective:
332
+ Enabled: true
333
+ Lint/RedundantRequireStatement:
334
+ Enabled: true
335
+ Lint/RedundantSplatExpansion:
336
+ Enabled: true
337
+ Lint/RedundantStringCoercion:
338
+ Enabled: true
339
+ Lint/RedundantWithIndex:
340
+ Enabled: true
341
+ Lint/RedundantWithObject:
342
+ Enabled: true
343
+ Lint/RegexpAsCondition:
344
+ Enabled: true
345
+ Lint/RequireParentheses:
346
+ Enabled: true
347
+ Lint/RescueException:
348
+ Enabled: true
349
+ Lint/RescueType:
350
+ Enabled: true
351
+ Lint/ReturnInVoidContext:
352
+ Enabled: true
353
+ Lint/SafeNavigationChain:
354
+ Enabled: true
355
+ Lint/SafeNavigationConsistency:
356
+ Enabled: true
357
+ Lint/SafeNavigationWithEmpty:
358
+ Enabled: true
359
+ Lint/ScriptPermission:
360
+ Enabled: true
361
+ Lint/ShadowedArgument:
362
+ Enabled: true
363
+ Lint/ShadowedException:
364
+ Enabled: true
365
+ Lint/ShadowingOuterLocalVariable:
366
+ Enabled: true
367
+ Lint/SuppressedException:
368
+ Enabled: true
369
+ Lint/Syntax:
370
+ Enabled: true
371
+ Lint/ToJSON:
372
+ Enabled: true
373
+ Lint/UnderscorePrefixedVariableName:
374
+ Enabled: true
375
+ Lint/UnifiedInteger:
376
+ Enabled: true
377
+ Lint/UnreachableCode:
378
+ Enabled: true
379
+ Lint/UnusedBlockArgument:
380
+ Enabled: true
381
+ Lint/UnusedMethodArgument:
382
+ Enabled: true
383
+ Lint/UriEscapeUnescape:
384
+ Enabled: true
385
+ Lint/UriRegexp:
386
+ Enabled: true
387
+ Lint/UselessAccessModifier:
388
+ Enabled: true
389
+ Lint/UselessAssignment:
390
+ Enabled: true
391
+ Lint/UselessElseWithoutRescue:
392
+ Enabled: true
393
+ Lint/UselessSetterCall:
394
+ Enabled: true
395
+ Lint/Void:
396
+ Enabled: true
397
+
398
+ # Metrics Cop Configuration
399
+ # https://docs.rubocop.org/en/stable/cops_metrics/
400
+
401
+ Metrics/AbcSize:
402
+ # Disabled along with all length metric constraints are considered arbitrary and arguably
403
+ # don't provide enough value for their use.
404
+ Enabled: false
405
+ Metrics/BlockLength:
406
+ # Disabled, see Metrics/AbcSize comment, above.
407
+ Enabled: false
408
+ Metrics/BlockNesting:
409
+ Enabled: true
410
+ Metrics/ClassLength:
411
+ # Disabled, see Metrics/AbcSize comment, above.
412
+ Enabled: false
413
+ Metrics/CyclomaticComplexity:
414
+ # Disabled as this cop seems arbitrary without some due-diligence on a max value that demonstrates
415
+ # an increase in quality, readability, maintainability or some other value.
416
+ Enabled: false
417
+ Metrics/MethodLength:
418
+ # Disabled, see Metrics/AbcSize comment, above.
419
+ Enabled: false
420
+ Metrics/ModuleLength:
421
+ # Disabled, see Metrics/AbcSize comment, above.
422
+ Enabled: false
423
+ Metrics/ParameterLists:
424
+ # Disabled, see Metrics/AbcSize comment, above.
425
+ Enabled: false
426
+ Metrics/PerceivedComplexity:
427
+ # Disabled, see Metrics/CyclomaticComplexity comment, above.
428
+ Enabled: false
429
+
430
+ # Naming Cop Configuration
431
+ # https://docs.rubocop.org/en/stable/cops_naming/
432
+
433
+ Naming/AccessorMethodName:
434
+ Enabled: true
435
+ Naming/AsciiIdentifiers:
436
+ Enabled: true
437
+ Naming/BinaryOperatorParameterName:
438
+ Enabled: true
439
+ Naming/BlockParameterName:
440
+ Enabled: true
441
+ Naming/ClassAndModuleCamelCase:
442
+ Enabled: true
443
+ Naming/ConstantName:
444
+ Enabled: true
445
+ Naming/FileName:
446
+ Enabled: true
447
+ Naming/HeredocDelimiterCase:
448
+ Enabled: true
449
+ Naming/HeredocDelimiterNaming:
450
+ Enabled: true
451
+ Naming/MemoizedInstanceVariableName:
452
+ Enabled: true
453
+ Naming/MethodName:
454
+ Enabled: true
455
+ IgnoredPatterns:
456
+ - 'do_GET'
457
+ - 'do_POST'
458
+ - 'do_PUT'
459
+ - 'do_DELETE'
460
+ - 'do_HEAD'
461
+ - 'do_OPTIONS'
462
+ Naming/MethodParameterName:
463
+ Enabled: true
464
+ Naming/PredicateName:
465
+ Enabled: true
466
+ Naming/RescuedExceptionsVariableName:
467
+ # Disabled. It's acceptable to use alternate variable names for rescued exceptions, when necessary.
468
+ Enabled: false
469
+ Naming/VariableName:
470
+ Enabled: true
471
+ Naming/VariableNumber:
472
+ Enabled: true
473
+
474
+
475
+ # Performance Cop Configuration
476
+ # https://rubocop-performance.readthedocs.io/en/stable/cops_performance/
477
+
478
+ Performance/Caller:
479
+ Enabled: true
480
+ Performance/CaseWhenSplat:
481
+ Enabled: true
482
+ Performance/Casecmp:
483
+ Enabled: true
484
+ Performance/ChainArrayAllocation:
485
+ Enabled: true
486
+ Performance/CompareWithBlock:
487
+ Enabled: true
488
+ Performance/Count:
489
+ Enabled: true
490
+ Performance/Detect:
491
+ Enabled: true
492
+ Performance/DoubleStartEndWith:
493
+ Enabled: true
494
+ Performance/EndWith:
495
+ Enabled: true
496
+ Performance/FixedSize:
497
+ Enabled: true
498
+ Performance/FlatMap:
499
+ Enabled: true
500
+ Performance/InefficientHashSearch:
501
+ Enabled: true
502
+ Performance/OpenStruct:
503
+ Enabled: true
504
+ Performance/RangeInclude:
505
+ Enabled: true
506
+ Performance/RedundantBlockCall:
507
+ Enabled: true
508
+ Performance/RedundantMatch:
509
+ Enabled: true
510
+ Performance/RedundantMerge:
511
+ Enabled: true
512
+ Performance/RegexpMatch:
513
+ Enabled: true
514
+ Performance/ReverseEach:
515
+ Enabled: true
516
+ Performance/Size:
517
+ Enabled: true
518
+ Performance/StartWith:
519
+ Enabled: true
520
+ Performance/StringReplacement:
521
+ Enabled: true
522
+ Performance/TimesMap:
523
+ Enabled: true
524
+ Performance/UnfreezeString:
525
+ Enabled: true
526
+ Performance/UriDefaultParser:
527
+ Enabled: true
528
+
529
+ # Security Cop Configuration
530
+ # https://docs.rubocop.org/en/stable/cops_security/
531
+
532
+ Security/Eval:
533
+ Enabled: true
534
+ Security/JSONLoad:
535
+ Enabled: true
536
+ Security/MarshalLoad:
537
+ Enabled: true
538
+ Security/Open:
539
+ Enabled: true
540
+ Security/YAMLLoad:
541
+ Enabled: true
542
+
543
+ # Style Cop Configuration
544
+ # https://docs.rubocop.org/en/stable/cops_style/
545
+
546
+ Style/AccessModifierDeclarations:
547
+ Enabled: true
548
+ Style/Alias:
549
+ Enabled: true
550
+ Style/AndOr:
551
+ Enabled: true
552
+ Style/ArrayJoin:
553
+ Enabled: true
554
+ Style/AsciiComments:
555
+ Enabled: true
556
+ Style/Attr:
557
+ Enabled: true
558
+ Style/AutoResourceCleanup:
559
+ Enabled: false
560
+ Style/BarePercentLiterals:
561
+ Enabled: true
562
+ Style/BeginBlock:
563
+ Enabled: true
564
+ Style/BlockComments:
565
+ Enabled: true
566
+ Style/BlockDelimiters:
567
+ Enabled: true
568
+ Style/CaseEquality:
569
+ Enabled: true
570
+ Style/CharacterLiteral:
571
+ Enabled: true
572
+ Style/ClassAndModuleChildren:
573
+ Enabled: true
574
+ Style/ClassCheck:
575
+ Enabled: true
576
+ Style/ClassMethods:
577
+ Enabled: true
578
+ Style/ClassVars:
579
+ Enabled: true
580
+ Style/CollectionMethods:
581
+ # Disabled. There is no preference on which collection method aliases should be used.
582
+ Enabled: false
583
+ Style/ColonMethodCall:
584
+ Enabled: true
585
+ Style/ColonMethodDefinition:
586
+ Enabled: true
587
+ Style/CommandLiteral:
588
+ Enabled: true
589
+ Style/CommentAnnotation:
590
+ Enabled: true
591
+ Style/CommentedKeyword:
592
+ Enabled: true
593
+ Style/ConditionalAssignment:
594
+ Enabled: true
595
+ Style/ConstantVisibility:
596
+ # Disabled. Most constants need to be public, so this provides little value.
597
+ Enabled: false
598
+ Style/Copyright:
599
+ # Disabled. Copyright statements are not required.
600
+ Enabled: false
601
+ Style/DateTime:
602
+ Enabled: true
603
+ Style/DefWithParentheses:
604
+ Enabled: true
605
+ Style/Dir:
606
+ Enabled: true
607
+ Style/Documentation:
608
+ Enabled: true
609
+ Exclude:
610
+ - test/**/*
611
+ - spec/**/*
612
+ Style/DocumentationMethod:
613
+ Enabled: true
614
+ Exclude:
615
+ - test/**/*
616
+ - spec/**/*
617
+ Style/DoubleCopDisableDirective:
618
+ Enabled: true
619
+ Style/DoubleNegation:
620
+ Enabled: true
621
+ Style/EachForSimpleLoop:
622
+ Enabled: true
623
+ Style/EachWithObject:
624
+ Enabled: true
625
+ Style/EmptyBlockParameter:
626
+ Enabled: true
627
+ Style/EmptyCaseCondition:
628
+ Enabled: true
629
+ Style/EmptyElse:
630
+ Enabled: true
631
+ Style/EmptyLambdaParameter:
632
+ Enabled: true
633
+ Style/EmptyLiteral:
634
+ Enabled: true
635
+ Style/EmptyMethod:
636
+ Enabled: true
637
+ Style/Encoding:
638
+ Enabled: true
639
+ Style/EndBlock:
640
+ Enabled: true
641
+ Style/EvalWithLocation:
642
+ Enabled: true
643
+ Style/EvenOdd:
644
+ Enabled: true
645
+ Style/ExpandPathArguments:
646
+ Enabled: true
647
+ Style/FloatDivision:
648
+ Enabled: true
649
+ Style/For:
650
+ Enabled: true
651
+ Style/FormatString:
652
+ Enabled: true
653
+ Style/FormatStringToken:
654
+ Enabled: true
655
+ Style/FrozenStringLiteralComment:
656
+ Enabled: true
657
+ Style/GlobalVars:
658
+ Enabled: true
659
+ Style/GuardClause:
660
+ Enabled: true
661
+ Style/HashSyntax:
662
+ Enabled: true
663
+ Style/IdenticalConditionalBranches:
664
+ Enabled: true
665
+ Style/IfInsideElse:
666
+ Enabled: true
667
+ Style/IfUnlessModifier:
668
+ Enabled: true
669
+ Style/IfUnlessModifierOfIfUnless:
670
+ Enabled: true
671
+ Style/IfWithSemicolon:
672
+ Enabled: true
673
+ Style/ImplicitRuntimeError:
674
+ # Enabled. It is preferred to avoid raising implicit exceptions; they should be explicitly declared.
675
+ Enabled: true
676
+ Style/InfiniteLoop:
677
+ Enabled: true
678
+ Style/InlineComment:
679
+ # Disabled. Inline comments are allowed.
680
+ Enabled: false
681
+ Style/InverseMethods:
682
+ # Disabled. Determining whether using select or reject is most appropriate is best left to the
683
+ # person writing the code.
684
+ Enabled: false
685
+ Style/IpAddresses:
686
+ # Enabled. This cop may potentially be problematic, but we'll attempt to maintain the whitelist
687
+ # until we encounter an issue.
688
+ Enabled: true
689
+ AllowedAddresses:
690
+ - '::'
691
+ - '::1'
692
+ - '127.0.0.1'
693
+ Style/Lambda:
694
+ Enabled: true
695
+ Style/LambdaCall:
696
+ Enabled: true
697
+ Style/LineEndConcatenation:
698
+ Enabled: true
699
+ Style/MethodCallWithArgsParentheses:
700
+ # Disabled. It is acceptable to write argument bearing method invocations without parentheses in
701
+ # many cases.
702
+ Enabled: false
703
+ Style/MethodCallWithoutArgsParentheses:
704
+ Enabled: true
705
+ Style/MethodCalledOnDoEndBlock:
706
+ # Disabled. It is acceptable to call a method at the end of a do/end block. In particular, this is
707
+ # occationally needed in RSpec code.
708
+ Enabled: false
709
+ Style/MethodDefParentheses:
710
+ Enabled: true
711
+ Style/MinMax:
712
+ Enabled: true
713
+ Style/MissingElse:
714
+ # Disabled. It is acceptable for an if expression to not always have an else.
715
+ Enabled: false
716
+ Style/MissingRespondToMissing:
717
+ Enabled: true
718
+ Style/MixinGrouping:
719
+ Enabled: true
720
+ Style/MixinUsage:
721
+ Enabled: true
722
+ Style/ModuleFunction:
723
+ Enabled: true
724
+ Style/MultilineBlockChain:
725
+ Enabled: true
726
+ Style/MultilineIfModifier:
727
+ Enabled: true
728
+ Style/MultilineIfThen:
729
+ Enabled: true
730
+ Style/MultilineMemoization:
731
+ Enabled: true
732
+ Style/MultilineMethodSignature:
733
+ # Disabled. It is acceptable to have a multiple line method signature when names and variables get
734
+ # too long.
735
+ Enabled: false
736
+ Style/MultilineTernaryOperator:
737
+ Enabled: true
738
+ Style/MultilineWhenThen:
739
+ Enabled: true
740
+ Style/MultipleComparison:
741
+ Enabled: true
742
+ Style/MutableConstant:
743
+ Enabled: true
744
+ Style/NegatedIf:
745
+ Enabled: true
746
+ Style/NegatedUnless:
747
+ Enabled: true
748
+ Style/NegatedWhile:
749
+ Enabled: true
750
+ Style/NestedModifier:
751
+ Enabled: true
752
+ Style/NestedParenthesizedCalls:
753
+ Enabled: true
754
+ Style/NestedTernaryOperator:
755
+ Enabled: true
756
+ Style/Next:
757
+ # Disabled. Don't require the use of 'next' when conditionals are used within loops.
758
+ Enabled: false
759
+ Style/NilComparison:
760
+ Enabled: true
761
+ Style/NonNilCheck:
762
+ Enabled: true
763
+ Style/Not:
764
+ Enabled: true
765
+ Style/NumericLiteralPrefix:
766
+ Enabled: true
767
+ Style/NumericLiterals:
768
+ Enabled: true
769
+ Style/NumericPredicate:
770
+ Enabled: true
771
+ Style/OneLineConditional:
772
+ Enabled: true
773
+ Style/OptionHash:
774
+ # Disabled. It is acceptable to use a Hash variable named options, instead of keyword arguments.
775
+ Enabled: false
776
+ Style/OptionalArguments:
777
+ Enabled: true
778
+ Style/OrAssignment:
779
+ Enabled: true
780
+ Style/ParallelAssignment:
781
+ Enabled: true
782
+ Style/ParenthesesAroundCondition:
783
+ Enabled: true
784
+ Style/PercentLiteralDelimiters:
785
+ Enabled: true
786
+ Style/PercentQLiterals:
787
+ Enabled: true
788
+ Style/PerlBackrefs:
789
+ Enabled: true
790
+ Style/PreferredHashMethods:
791
+ Enabled: true
792
+ Style/Proc:
793
+ Enabled: true
794
+ Style/RaiseArgs:
795
+ Enabled: true
796
+ Style/RandomWithOffset:
797
+ Enabled: true
798
+ Style/RedundantBegin:
799
+ Enabled: true
800
+ Style/RedundantCapitalW:
801
+ Enabled: true
802
+ Style/RedundantCondition:
803
+ Enabled: true
804
+ Style/RedundantConditional:
805
+ Enabled: true
806
+ Style/RedundantException:
807
+ Enabled: true
808
+ Style/RedundantFreeze:
809
+ Enabled: true
810
+ Style/RedundantInterpolation:
811
+ Enabled: true
812
+ Style/RedundantParentheses:
813
+ Enabled: true
814
+ Style/RedundantPercentQ:
815
+ Enabled: true
816
+ Style/RedundantReturn:
817
+ Enabled: true
818
+ Style/RedundantSelf:
819
+ Enabled: true
820
+ Style/RedundantSort:
821
+ Enabled: true
822
+ Style/RedundantSortBy:
823
+ Enabled: true
824
+ Style/RegexpLiteral:
825
+ Enabled: true
826
+ EnforcedStyle: slashes
827
+ AllowInnerSlashes: true
828
+ Style/RescueModifier:
829
+ Enabled: true
830
+ Style/RescueStandardError:
831
+ Enabled: true
832
+ Style/ReturnNil:
833
+ # Enabled. It is preferred to omit the literal 'nil' when returning.
834
+ Enabled: true
835
+ EnforcedStyle: return
836
+ Style/SafeNavigation:
837
+ Enabled: true
838
+ Style/Sample:
839
+ Enabled: true
840
+ Style/SelfAssignment:
841
+ Enabled: true
842
+ Style/Semicolon:
843
+ Enabled: true
844
+ Style/Send:
845
+ # Disabled. Any form of send is acceptable.
846
+ Enabled: false
847
+ Style/SignalException:
848
+ Enabled: true
849
+ Style/SingleLineBlockParams:
850
+ # Disabled. This cop is problematic and the default values are overbearing.
851
+ Enabled: false
852
+ Style/SingleLineMethods:
853
+ Enabled: true
854
+ Style/SpecialGlobalVars:
855
+ Enabled: true
856
+ Style/StabbyLambdaParentheses:
857
+ Enabled: true
858
+ Style/StderrPuts:
859
+ # Disabled. This cop functionally equates use of STDERR with optional warnings. This may be true in some use cases, but there
860
+ # are times when using STDERR in CLIs is not an optional warning.
861
+ Enabled: false
862
+ Style/StringHashKeys:
863
+ # Disabled. There are many use cases where using Strings for Hash keys is required.
864
+ Enabled: false
865
+ Style/StringLiterals:
866
+ Enabled: true
867
+ Style/StringLiteralsInInterpolation:
868
+ Enabled: true
869
+ Style/StringMethods:
870
+ # Enabled. It is preferred to use 'to_sym' instead of the alias 'intern'.
871
+ Enabled: true
872
+ Style/Strip:
873
+ Enabled: true
874
+ Style/StructInheritance:
875
+ Enabled: true
876
+ Style/SymbolArray:
877
+ # Use of %i[] or %I[] can help readability and maintainability, but not necessarily for small
878
+ # arrays, which the manual defines as less than 7.
879
+ Enabled: true
880
+ MinSize: 7
881
+ Style/SymbolLiteral:
882
+ Enabled: true
883
+ Style/SymbolProc:
884
+ # Disabled. Using &:method, instead of { |obj| obj.method }, is sometimes more readable, there
885
+ # are plenty of cases when this is not the case.
886
+ Enabled: false
887
+ Style/TernaryParentheses:
888
+ Enabled: true
889
+ Style/TrailingBodyOnClass:
890
+ Enabled: true
891
+ Style/TrailingBodyOnMethodDefinition:
892
+ Enabled: true
893
+ Style/TrailingBodyOnModule:
894
+ Enabled: true
895
+ Style/TrailingCommaInArguments:
896
+ Enabled: true
897
+ Style/TrailingCommaInArrayLiteral:
898
+ Enabled: true
899
+ Style/TrailingCommaInHashLiteral:
900
+ Enabled: true
901
+ Style/TrailingMethodEndStatement:
902
+ Enabled: true
903
+ Style/TrailingUnderscoreVariable:
904
+ Enabled: true
905
+ Style/TrivialAccessors:
906
+ Enabled: true
907
+ Style/UnlessElse:
908
+ Enabled: true
909
+ Style/UnpackFirst:
910
+ Enabled: true
911
+ Style/VariableInterpolation:
912
+ Enabled: true
913
+ Style/WhenThen:
914
+ Enabled: true
915
+ Style/WhileUntilDo:
916
+ Enabled: true
917
+ Style/WhileUntilModifier:
918
+ Enabled: true
919
+ Style/WordArray:
920
+ # Use of %w[] or %W[] can help readability and maintainability, but not necessarily for small
921
+ # arrays, which the manual defines as less than 7.
922
+ Enabled: true
923
+ MinSize: 7
924
+ Style/YodaCondition:
925
+ Enabled: true
926
+ Style/ZeroLengthPredicate:
927
+ Enabled: true