github_bot 0.1.0

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 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