nxt_cop 1.3.1 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f3ced16c64af5bb68e2c10850dd9277e29f3a39de3d9cc32bdde3296530f55cf
4
- data.tar.gz: 6fa32563d60a5fde5b6c4734617913d69cf6d6cd1441096fae6377837c75993a
3
+ metadata.gz: 1eb597d25eddcad36a8b678d16aec8012a29e0b9c33a145fc7e528303cf1ea27
4
+ data.tar.gz: dfa1494d7e788cf1500f030938995d8e5a53a74cee29d3b1fc726687dc7cab85
5
5
  SHA512:
6
- metadata.gz: 1d43e0c5e70c4b7241c58784717a3b5218e0267dcef358a00308f1689bc17d3f2067eeddc428769e41342c612ce144a137cd39ffc1f8b3ae68f92966c1d4fef2
7
- data.tar.gz: c8df079c6ffaac61b89fb07c04fdb38d466cb01ccd5be1c004cb9f73a104fa3647cd7b790dabeb02cdcf668fdf3718300f353a4fd747991e3fefe340d8ba0b22
6
+ metadata.gz: 1d2923f5964870f8e7262c19476874f01e1785ddbba09ce158909f3cbf0758f7857de4df85586372abb669686d79cbf74f49d74500a4566e457b4eecca830583
7
+ data.tar.gz: 5e7efb90fc058ffc9b7c02a6aa948fcd0b20cf50c3b274998dbcc0ca5acc7c268c950afa97031073202747b009c4e520a1b400a1f60d2110f9479c340298acba
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # v2.0.0 2023-11-28
2
+ ## What's Changed
3
+ * Enabled all cops by default
4
+
5
+ **Full Changelog**: https://github.com/nxt-insurance/nxt_cop/compare/v1.3.1...v2.0.0
6
+
1
7
  # v1.3.1 2023-10-10
2
8
  ## What's Changed
3
9
  * Bumped dependencies version
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nxt_cop (1.3.1)
4
+ nxt_cop (2.0.0)
5
5
  rubocop (~> 1.57.2)
6
6
  rubocop-rails (~> 2.8)
7
7
  rubocop-rspec (~> 2.12)
@@ -9,7 +9,7 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (7.1.1)
12
+ activesupport (7.1.2)
13
13
  base64
14
14
  bigdecimal
15
15
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -59,10 +59,11 @@ GEM
59
59
  rubocop (~> 1.41)
60
60
  rubocop-factory_bot (2.24.0)
61
61
  rubocop (~> 1.33)
62
- rubocop-rails (2.22.1)
62
+ rubocop-rails (2.22.2)
63
63
  activesupport (>= 4.2.0)
64
64
  rack (>= 1.1)
65
65
  rubocop (>= 1.33.0, < 2.0)
66
+ rubocop-ast (>= 1.30.0, < 2.0)
66
67
  rubocop-rspec (2.25.0)
67
68
  rubocop (~> 1.40)
68
69
  rubocop-capybara (~> 2.17)
data/default.yml CHANGED
@@ -18,7 +18,8 @@ AllCops:
18
18
  - db/migrate/*
19
19
  - vendor/**/*
20
20
  - node_modules/**/*
21
- DisabledByDefault: true
21
+ DisabledByDefault: false
22
+ NewCops: disable # to avoid warnings. TODO: remove this setting and add new cops from the warning.
22
23
 
23
24
  # A bunch of these layout cops are enabled by default,
24
25
  # but for some reason 'DisableByDefault' is set to 'true' above.
@@ -260,3 +261,364 @@ Lint/MixedCaseRange:
260
261
  Enabled: true
261
262
  Lint/RedundantRegexpQuantifiers:
262
263
  Enabled: true
264
+
265
+ # This is default cops we want to keep disabled:
266
+ Style/FrozenStringLiteralComment:
267
+ Enabled: false
268
+ Layout/LineLength:
269
+ Enabled: false
270
+ Style/ArgumentsForwarding:
271
+ Enabled: false
272
+ Naming/BlockForwarding:
273
+ Enabled: false
274
+ Rails/FreezeTime:
275
+ Enabled: false
276
+ Style/Documentation:
277
+ Enabled: false
278
+ Metrics/MethodLength:
279
+ Enabled: false
280
+ Naming/VariableNumber:
281
+ Enabled: false
282
+ Metrics/AbcSize:
283
+ Enabled: false
284
+ Metrics/ClassLength:
285
+ Enabled: false
286
+ Style/ClassAndModuleChildren:
287
+ Enabled: false
288
+ Metrics/BlockLength:
289
+ Enabled: false
290
+ Metrics/CyclomaticComplexity:
291
+ Enabled: false
292
+ Style/SafeNavigation:
293
+ Enabled: false
294
+ Rails/Output:
295
+ Enabled: false
296
+ Style/Next: # this one looks dangerous
297
+ Enabled: false
298
+ Bundler/OrderedGems:
299
+ Enabled: false
300
+ Bundler/DuplicatedGroup:
301
+ Enabled: false
302
+ Rails/HttpStatus:
303
+ Enabled: false
304
+ Rails/SkipsModelValidations:
305
+ Enabled: false
306
+ Style/InfiniteLoop:
307
+ Enabled: false
308
+ Style/StderrPuts:
309
+ Enabled: false
310
+ Style/NumericPredicate:
311
+ Enabled: false
312
+ Metrics/PerceivedComplexity:
313
+ Enabled: false
314
+ Style/RegexpLiteral:
315
+ Enabled: false
316
+ Rails/Delegate:
317
+ Enabled: false
318
+ Style/RaiseArgs:
319
+ Enabled: false
320
+ Rails/HasManyOrHasOneDependent: # Nice to have but challenging to fix
321
+ Enabled: false
322
+ Rails/InverseOf:
323
+ Enabled: false
324
+ Style/MultilineBlockChain:
325
+ Enabled: false
326
+ Naming/AccessorMethodName:
327
+ Enabled: false
328
+ Naming/PredicateName:
329
+ Enabled: false
330
+ Style/FormatStringToken:
331
+ Enabled: false
332
+ Style/RedundantSort: # dangerous since autofix breaks the code
333
+ Enabled: false
334
+ Style/SymbolProc:
335
+ Enabled: false
336
+ Rails/ApplicationController:
337
+ Enabled: false
338
+ Rails/ApplicationRecord:
339
+ Enabled: false
340
+ Style/ExplicitBlockArgument:
341
+ Enabled: false
342
+ Rails/DynamicFindBy:
343
+ Enabled: false
344
+ Metrics/ParameterLists:
345
+ Enabled: false
346
+ Rails/IndexWith:
347
+ Enabled: false
348
+ Style/FormatString:
349
+ Enabled: false
350
+ Rails/Blank:
351
+ Enabled: false
352
+ Rails/Present:
353
+ Enabled: false
354
+ Style/NumericLiterals:
355
+ Enabled: false
356
+ Style/Lambda:
357
+ Enabled: false
358
+ Style/Proc:
359
+ Enabled: false
360
+ Style/ExponentialNotation:
361
+ Enabled: false
362
+ Style/PreferredHashMethods: # can be changed via vote
363
+ Enabled: false
364
+ Rails/Presence:
365
+ Enabled: false
366
+ Metrics/ModuleLength:
367
+ Enabled: false
368
+ Style/RedundantConditional:
369
+ Enabled: false
370
+ Style/TrailingUnderscoreVariable:
371
+ Enabled: false
372
+ Style/ParenthesesAroundCondition:
373
+ Enabled: false
374
+ Style/HashEachMethods:
375
+ Enabled: false
376
+ Style/RedundantAssignment:
377
+ Enabled: false
378
+ Style/CaseLikeIf:
379
+ Enabled: false
380
+ Style/RedundantBegin:
381
+ Enabled: false
382
+ Rails/FilePath:
383
+ Enabled: false
384
+ Style/Alias:
385
+ Enabled: false
386
+ Style/SingleArgumentDig:
387
+ Enabled: false
388
+ Style/RescueModifier: # because it's heavily used in application service
389
+ Enabled: false
390
+ Style/IfUnlessModifier:
391
+ Enabled: false
392
+ Naming/BinaryOperatorParameterName:
393
+ Enabled: false
394
+ Style/SignalException:
395
+ Enabled: false
396
+ Style/TrivialAccessors:
397
+ Enabled: false
398
+ Rails/HasAndBelongsToMany:
399
+ Enabled: false
400
+ Style/AccessModifierDeclarations:
401
+ Enabled: false
402
+ Rails/ReadWriteAttribute:
403
+ Enabled: false
404
+ Rails/RedundantReceiverInWithOptions:
405
+ Enabled: false
406
+ Style/HashTransformValues:
407
+ Enabled: false
408
+ Rails/IndexBy:
409
+ Enabled: false
410
+ Rails/Pick:
411
+ Enabled: false
412
+ Style/CombinableLoops: # hard to autocorrect properly
413
+ Enabled: false
414
+ FactoryBot/CreateList:
415
+ Enabled: false
416
+ Rails/ReflectionClassName:
417
+ Enabled: false
418
+ Style/RedundantSelf:
419
+ Enabled: false
420
+ Style/GuardClause:
421
+ Enabled: false
422
+ Style/PercentLiteralDelimiters:
423
+ Enabled: false
424
+ Style/StringConcatenation: # heavily used in insurance service
425
+ Enabled: false
426
+ Style/InverseMethods:
427
+ Enabled: false
428
+ Style/RedundantInterpolation:
429
+ Enabled: false
430
+ Style/ZeroLengthPredicate:
431
+ Enabled: false
432
+
433
+ # 🤔 Should we enable these cops or not? They look useful but require alignment within the team
434
+ Style/OpenStructUse:
435
+ Enabled: false
436
+ Style/RedundantConstantBase: # new in 1.40
437
+ Enabled: false
438
+ Naming/MemoizedInstanceVariableName:
439
+ Enabled: false
440
+ Style/ConditionalAssignment:
441
+ Enabled: false
442
+ Style/BlockDelimiters:
443
+ Enabled: false
444
+ Style/TrailingCommaInArrayLiteral:
445
+ Enabled: false
446
+ FactoryBot/FactoryClassName:
447
+ Enabled: false
448
+ Style/NumericLiteralPrefix:
449
+ Enabled: false
450
+ Style/OptionalBooleanParameter:
451
+ Enabled: false
452
+ Style/IdenticalConditionalBranches: # Is it safe to auto-fix?
453
+ Enabled: false
454
+ Naming/RescuedExceptionsVariableName: # Would be nice to have, but should align on the name first
455
+ Enabled: false
456
+
457
+ Naming/MethodParameterName: # should enable but we have to manually fix this
458
+ Enabled: false
459
+ Rails/UniqueValidationWithoutIndex: # definitely enable!!!
460
+ Enabled: false
461
+ Rails/Validation: # discuss with the team
462
+ Enabled: false
463
+ Rails/LexicallyScopedActionFilter: # enable and manually disable offences
464
+ Enabled: false
465
+ Security/Open:
466
+ Enabled: false
467
+ Naming/FileName:
468
+ Enabled: false
469
+ Style/EmptyElse:
470
+ Enabled: false
471
+ Style/MixinUsage: # Enable and then manually disable offenses?
472
+ Enabled: false
473
+
474
+
475
+
476
+ # ✅ Enabled in 2.0 version (activated by "enable all rules by default')
477
+ # Let's keep commented list here for visibility for a while
478
+ #
479
+ #Layout/SpaceInsideParens:
480
+ # Enabled: false
481
+ #Layout/SpaceBeforeFirstArg:
482
+ # Enabled: false
483
+ #Layout/ExtraSpacing:
484
+ # Enabled: false
485
+ #Layout/SpaceAfterColon:
486
+ # Enabled: false
487
+ #Rails/PluralizationGrammar:
488
+ # Enabled: false
489
+ #Layout/SpaceAroundMethodCallOperator:
490
+ # Enabled: false
491
+ #Style/RedundantFreeze:
492
+ # Enabled: false
493
+ #Layout/SpaceInLambdaLiteral:
494
+ # Enabled: false
495
+ #Layout/LeadingCommentSpace:
496
+ # Enabled: false
497
+ #Layout/DefEndAlignment:
498
+ # Enabled: false
499
+ #Style/RedundantRegexpEscape:
500
+ # Enabled: false
501
+ #Layout/HeredocIndentation:
502
+ # Enabled: false
503
+ #Layout/ClosingHeredocIndentation:
504
+ # Enabled: false
505
+ #Layout/LeadingEmptyLines:
506
+ # Enabled: false
507
+ #Layout/EmptyLinesAroundAccessModifier:
508
+ # Enabled: false
509
+ #Style/NegatedIf:
510
+ # Enabled: false
511
+ #Style/CommentAnnotation:
512
+ # Enabled: false
513
+ #Layout/MultilineOperationIndentation:
514
+ # Enabled: false
515
+ #Style/ExpandPathArguments:
516
+ # Enabled: false
517
+ #Layout/EmptyLinesAroundMethodBody:
518
+ # Enabled: false
519
+ #Style/RedundantReturn:
520
+ # Enabled: false
521
+ #Style/GlobalStdStream:
522
+ # Enabled: false
523
+ #Style/FloatDivision:
524
+ # Enabled: false
525
+ #Style/RescueStandardError:
526
+ # Enabled: false
527
+ #Style/NilComparison:
528
+ # Enabled: false
529
+ #Style/RedundantFetchBlock:
530
+ # Enabled: false
531
+ #Style/Encoding:
532
+ # Enabled: false
533
+ #Style/EmptyLiteral:
534
+ # Enabled: false
535
+ #Layout/SpaceInsideReferenceBrackets:
536
+ # Enabled: false
537
+ #Style/EmptyLambdaParameter:
538
+ # Enabled: false
539
+ #Style/TernaryParentheses:
540
+ # Enabled: false
541
+ #Naming/MethodName:
542
+ # Enabled: false
543
+ #Style/SlicingWithRange:
544
+ # Enabled: false
545
+ #Style/EmptyCaseCondition:
546
+ # Enabled: false
547
+ #Style/SoleNestedConditional:
548
+ # Enabled: false
549
+ #Rails/FindEach:
550
+ # Enabled: false
551
+ #Style/RedundantFileExtensionInRequire:
552
+ # Enabled: false
553
+ #Layout/SpaceInsideArrayLiteralBrackets:
554
+ # Enabled: false
555
+ #Style/HashAsLastArrayItem:
556
+ # Enabled: false
557
+ #Lint/RedundantCopDisableDirective:
558
+ # Enabled: false
559
+ #Layout/SpaceAroundKeyword:
560
+ # Enabled: false
561
+ #Style/KeywordParametersOrder:
562
+ # Enabled: false
563
+ #Style/BlockComments:
564
+ # Enabled: false
565
+ #Style/AndOr:
566
+ # Enabled: false
567
+ #Style/EachWithObject:
568
+ # Enabled: false
569
+ #Layout/SpaceAroundBlockParameters:
570
+ # Enabled: false
571
+ #Style/MultilineTernaryOperator:
572
+ # Enabled: false
573
+ #Style/RedundantParentheses:
574
+ # Enabled: false
575
+ #Security/JSONLoad:
576
+ # Enabled: false
577
+ #Style/MethodCallWithoutArgsParentheses:
578
+ # Enabled: false
579
+ #Style/CommentedKeyword:
580
+ # Enabled: false
581
+ #Style/MultilineIfModifier:
582
+ # Enabled: false
583
+ #Style/IfInsideElse:
584
+ # Enabled: false
585
+ #Style/AccessorGrouping:
586
+ # Enabled: false
587
+ #Layout/BlockEndNewline:
588
+ # Enabled: false
589
+ #Rails/RedundantForeignKey:
590
+ # Enabled: false
591
+ #Style/UnlessElse:
592
+ # Enabled: false
593
+ #Layout/EmptyLinesAroundModuleBody:
594
+ # Enabled: false
595
+ #Rails/RakeEnvironment:
596
+ # Enabled: false
597
+ #Layout/EmptyLinesAroundArguments:
598
+ # Enabled: false
599
+ #Style/EachForSimpleLoop:
600
+ # Enabled: false
601
+ #Style/ClassCheck:
602
+ # Enabled: false
603
+ #Style/NestedParenthesizedCalls:
604
+ # Enabled: false
605
+ #Style/LineEndConcatenation:
606
+ # Enabled: false
607
+ #Style/ParallelAssignment:
608
+ # Enabled: false
609
+ #Layout/EmptyLinesAroundExceptionHandlingKeywords:
610
+ # Enabled: false
611
+ #Layout/SpaceAroundEqualsInParameterDefault:
612
+ # Enabled: false
613
+ #Style/YodaCondition:
614
+ # Enabled: false
615
+ #Layout/SpaceInsideStringInterpolation:
616
+ # Enabled: false
617
+ #Style/EmptyMethod:
618
+ # Enabled: false
619
+ #Layout/EmptyLineBetweenDefs:
620
+ # Enabled: false
621
+ #Naming/ConstantName:
622
+ # Enabled: false
623
+ #Rails/RelativeDateConstant:
624
+ # Enabled: false
@@ -1,3 +1,3 @@
1
1
  module NxtCop
2
- VERSION = '1.3.1'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
data/nxt_cop.gemspec CHANGED
@@ -1,4 +1,4 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'nxt_cop/version'
4
4
 
@@ -24,13 +24,15 @@ Gem::Specification.new do |spec|
24
24
  'public gem pushes.'
25
25
  end
26
26
 
27
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
27
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
28
28
  f.match(%r{^(test|spec|features)/})
29
29
  end
30
30
  spec.bindir = 'exe'
31
31
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
32
  spec.require_paths = ['lib']
33
33
 
34
+ spec.required_ruby_version = '>= 3.2'
35
+
34
36
  spec.add_dependency 'rubocop', '~> 1.57.2'
35
37
  spec.add_dependency 'rubocop-rails', '~> 2.8'
36
38
  spec.add_dependency 'rubocop-rspec', '~> 2.12'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nxt_cop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Livingstone
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-10 00:00:00.000000000 Z
11
+ date: 2024-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -117,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
117
  requirements:
118
118
  - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: '0'
120
+ version: '3.2'
121
121
  required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - ">="