simplycop 1.19.3 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 340380f1fa0cc31faa8be3cce2be00d8cb11aec98a6561df1692574951b6761b
4
- data.tar.gz: 5714996ab72a477ea3bfcdcf8966606ee8e8890ef4fa0d889bdb14ac2e5de6ed
3
+ metadata.gz: 16b93b73b29f5f2761bfe622cf8a34dc1186c7f89605119f46eea9a8e1b3eb4f
4
+ data.tar.gz: 821f8d934644b1a0c88fcbcdf9e177af15bb884b8e01a9fe07a2bcdf85d1c6f7
5
5
  SHA512:
6
- metadata.gz: 62fe9bdd0071394480397fcf53cd636144f204c4bccf040aba06dffdef736a2d8b109fad225240120872f27a4c1481c07fb0313bdf66fe2d3fe612bbb819e5a6
7
- data.tar.gz: fbe61769aba6efa7bb418401c31092883cad62213651b839a7ab4fc76e17496381f2d01b22d7c6c3eb74028fe586857c409a36c3ba1ce3a9bcd8bc0d5b122854
6
+ metadata.gz: d34b98203ee0fdfe46c1c6df161135a99f8972b5b6b647b9fbcd54bfcbd1cdbabf875546032897ee27ef0b2113f150ea8b8e7fedb8b948595d377d54064c0025
7
+ data.tar.gz: df80073336238ec58f6f1e5cbc1301114120d529c31a3ba75fd1e63f4bad88ecbb06924e456fd5573dbe57ff1e279f7f48c7b12e467f7f4c5d6eb5a758174118
data/.rubocop.yml CHANGED
@@ -1,6 +1,13 @@
1
1
  inherit_from:
2
2
  - .simplycop.yml
3
+ - .simplycop_capybara.yml
4
+ - .simplycop_factory_bot.yml
5
+ - .simplycop_performance.yml
6
+ - .simplycop_rails.yml
3
7
  - .simplycop_rspec.yml
8
+ - .simplycop_rspec_rails.yml
4
9
 
5
10
  AllCops:
6
- TargetRubyVersion: 3.1
11
+ TargetRubyVersion: 3.1
12
+ Exclude:
13
+ - simplycop.gemspec
@@ -0,0 +1,35 @@
1
+ require:
2
+ - rubocop-capybara
3
+
4
+ Capybara/ClickLinkOrButtonStyle:
5
+ Enabled: false
6
+
7
+ Capybara/CurrentPathExpectation:
8
+ Enabled: true
9
+
10
+ Capybara/MatchStyle:
11
+ Enabled: true
12
+
13
+ Capybara/NegationMatcher:
14
+ Enabled: true
15
+
16
+ Capybara/RedundantWithinFind:
17
+ Enabled: true
18
+
19
+ Capybara/SpecificActions:
20
+ Enabled: true
21
+
22
+ Capybara/SpecificFinders:
23
+ Enabled: true
24
+
25
+ Capybara/SpecificMatcher:
26
+ Enabled: true
27
+
28
+ Capybara/VisibilityMatcher:
29
+ Enabled: true
30
+
31
+ Capybara/RSpec/HaveSelector:
32
+ Enabled: true
33
+
34
+ Capybara/RSpec/PredicateMatcher:
35
+ Enabled: true
@@ -0,0 +1,36 @@
1
+ require:
2
+ - rubocop-factory_bot
3
+
4
+ FactoryBot/AssociationStyle:
5
+ Enabled: true
6
+
7
+ FactoryBot/AttributeDefinedStatically:
8
+ Enabled: true
9
+
10
+ FactoryBot/ConsistentParenthesesStyle:
11
+ Enabled: true
12
+
13
+ FactoryBot/CreateList:
14
+ Enabled: false
15
+
16
+ FactoryBot/ExcessiveCreateList:
17
+ Enabled: true
18
+
19
+ FactoryBot/FactoryAssociationWithStrategy:
20
+ Enabled: true
21
+
22
+ FactoryBot/FactoryClassName:
23
+ Enabled: true
24
+
25
+ FactoryBot/FactoryNameStyle:
26
+ Enabled: true
27
+
28
+ FactoryBot/IdSequence:
29
+ Enabled: true
30
+
31
+ FactoryBot/RedundantFactoryOption:
32
+ Enabled: true
33
+
34
+ # Prefer explicit factorybot call
35
+ FactoryBot/SyntaxMethods:
36
+ Enabled: false
data/.simplycop_rails.yml CHANGED
@@ -415,3 +415,6 @@ Rails/WhereNot:
415
415
  # Anticipate conflicts with Mongoid, like Rails/WhereNot
416
416
  Rails/WhereNotWithMultipleConditions:
417
417
  Enabled: false
418
+
419
+ Rails/WhereRange:
420
+ Enabled: true
data/.simplycop_rspec.yml CHANGED
@@ -70,7 +70,14 @@ RSpec/DescribedClassModuleWrapping:
70
70
  Enabled: false
71
71
 
72
72
  RSpec/Dialect:
73
- Enabled: false
73
+ Enabled: true
74
+ PreferredMethods:
75
+ background: :before
76
+ scenario: :it
77
+ xscenario: :xit
78
+ given: :let
79
+ given!: :let!
80
+ feature: :describe
74
81
 
75
82
  RSpec/DuplicatedMetadata:
76
83
  Enabled: true
@@ -126,10 +133,10 @@ RSpec/ExpectChange:
126
133
  RSpec/ExpectInHook:
127
134
  Enabled: true
128
135
 
129
- RSpec/ExpectOutput:
130
- Enabled: false
136
+ RSpec/ExpectInLet:
137
+ Enabled: true
131
138
 
132
- RSpec/FilePath:
139
+ RSpec/ExpectOutput:
133
140
  Enabled: false
134
141
 
135
142
  RSpec/Focus:
@@ -200,6 +207,9 @@ RSpec/MetadataStyle:
200
207
  RSpec/MissingExampleGroupArgument:
201
208
  Enabled: true
202
209
 
210
+ RSpec/MissingExpectationTargetMethod:
211
+ Enabled: true
212
+
203
213
  RSpec/MultipleDescribes:
204
214
  Enabled: true
205
215
 
@@ -333,119 +343,3 @@ RSpec/VoidExpect:
333
343
 
334
344
  RSpec/Yield:
335
345
  Enabled: true
336
-
337
- # Rspec/Capybara
338
-
339
- # Similar to FactoryBot (see below) there is an RSpec/Capybara department and a separate Capybara
340
- # package which is not installed in simplycop. This configuration is just for the RSpec department.
341
- # The namespacing has been changed to avoid warnings.
342
-
343
- RSpec/Capybara:
344
- Enabled: true
345
- Include:
346
- - spec/integration/*.rb
347
-
348
- Capybara/CurrentPathExpectation:
349
- Enabled: true
350
-
351
- RSpec/Capybara/FeatureMethods:
352
- Enabled: true
353
-
354
- Capybara/MatchStyle:
355
- Enabled: true
356
-
357
- Capybara/NegationMatcher:
358
- Enabled: true
359
-
360
- Capybara/SpecificActions:
361
- Enabled: true
362
-
363
- Capybara/SpecificFinders:
364
- Enabled: true
365
-
366
- Capybara/SpecificMatcher:
367
- Enabled: true
368
-
369
- Capybara/VisibilityMatcher:
370
- Enabled: true
371
-
372
- # RSpec/FactoryBot
373
- # NB: There is an RSpec/FactoryBot department and a separate FactoryBot package. The FactoryBot package is
374
- # not installed on simplycop. The configuration is just for the RSpec department, namespaced to avoid warnings.
375
-
376
- FactoryBot/AttributeDefinedStatically:
377
- Enabled: true
378
-
379
- FactoryBot/ConsistentParenthesesStyle:
380
- Enabled: true
381
-
382
- FactoryBot/CreateList:
383
- Enabled: false
384
-
385
- FactoryBot/FactoryClassName:
386
- Enabled: true
387
-
388
- FactoryBot/FactoryNameStyle:
389
- Enabled: true
390
-
391
- # Prefer explicit factorybot call
392
- FactoryBot/SyntaxMethods:
393
- Enabled: false
394
-
395
- # Previously some FactoryBot package cops were configured due to the above confusion. There is less crossover between
396
- # RSpec/FactoryBot and FactoryBot than Capybara, so it generated a number of errors when they weren't found.
397
- # This is how they were configured:
398
-
399
- # FactoryBot/AssociationStyle:
400
- # Enabled: true
401
-
402
- # FactoryBot/AttributeDefinedStatically:
403
- # Enabled: true
404
-
405
- # FactoryBot/ConsistentParenthesesStyle:
406
- # Enabled: true
407
-
408
- # FactoryBot/CreateList:
409
- # Enabled: false
410
-
411
- # FactoryBot/FactoryAssociationWithStrategy:
412
- # Enabled: true
413
-
414
- # FactoryBot/FactoryClassName:
415
- # Enabled: true
416
-
417
- # FactoryBot/FactoryNameStyle:
418
- # Enabled: true
419
-
420
- # FactoryBot/IdSequence:
421
- # Enabled: true
422
-
423
- # FactoryBot/RedundantFactoryOption:
424
- # Enabled: true
425
-
426
- # # Prefer explicit factorybot call
427
- # FactoryBot/SyntaxMethods:
428
- # Enabled: false
429
-
430
- # Rspec/Rails
431
-
432
- RSpecRails/AvoidSetupHook: # new in 2.4
433
- Enabled: true
434
-
435
- RSpecRails/HaveHttpStatus:
436
- Enabled: true
437
-
438
- RSpecRails/HttpStatus:
439
- Enabled: true
440
-
441
- RSpecRails/InferredSpecType:
442
- Enabled: true
443
-
444
- RSpecRails/MinitestAssertions:
445
- Enabled: true
446
-
447
- RSpecRails/NegationBeValid:
448
- Enabled: true
449
-
450
- RSpecRails/TravelAround:
451
- Enabled: true
@@ -0,0 +1,23 @@
1
+ require:
2
+ - rubocop-rspec_rails
3
+
4
+ RSpecRails/AvoidSetupHook:
5
+ Enabled: true
6
+
7
+ RSpecRails/HaveHttpStatus:
8
+ Enabled: true
9
+
10
+ RSpecRails/HttpStatus:
11
+ Enabled: true
12
+
13
+ RSpecRails/InferredSpecType:
14
+ Enabled: true
15
+
16
+ RSpecRails/MinitestAssertions:
17
+ Enabled: true
18
+
19
+ RSpecRails/NegationBeValid:
20
+ Enabled: true
21
+
22
+ RSpecRails/TravelAround:
23
+ Enabled: true
data/docs/index.md CHANGED
@@ -56,6 +56,16 @@ inherit_gem:
56
56
  - .simplycop_rspec.yml
57
57
  ```
58
58
 
59
+ You may also want the following packages:
60
+ ```yaml
61
+
62
+ - .simplycop_capybara.yml
63
+ - .simplycop_factory_bot.yml
64
+ - .simplycop_rspec_rails.yml
65
+ ```
66
+
67
+ NB: Capybara, FactoryBot and RSpecRails cops were previously available either via departments within `rubocop_rspec` or as packages in their own right. As of `rubocop_rspec` v3, they no longer exist as departments within `rubocop_rspec` and the packages need installing independently. If you use simplycop v1, you will still have access to some of these cops by inheriting `.simplycop_rspec`. As of simplycop v2 (which uses `rubocop_rspec` v3) you would need to inherit the packages individually.
68
+
59
69
  ## Usage
60
70
 
61
71
  Run Rubocop as you would usually do, i.e.
@@ -19,7 +19,7 @@ module Security
19
19
  end
20
20
 
21
21
  def found_match(string)
22
- string.match(/config.consider_all_requests\S?.*=\s?.*true/) ? true : false
22
+ /config.consider_all_requests\S?.*=\s?.*true/.match?(string)
23
23
  end
24
24
  end
25
25
  end
@@ -7,5 +7,5 @@
7
7
  #
8
8
 
9
9
  module Simplycop
10
- VERSION = '1.19.3'
10
+ VERSION = '2.0.0'
11
11
  end
data/simplycop.gemspec CHANGED
@@ -17,10 +17,13 @@ Gem::Specification.new do |spec|
17
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
18
  spec.require_paths = ['lib']
19
19
 
20
- spec.add_dependency 'rubocop', '1.64.0'
21
- spec.add_dependency 'rubocop-performance', '1.21.0'
20
+ spec.add_dependency 'rubocop', '1.64.1'
21
+ spec.add_dependency 'rubocop-capybara', '2.21.0'
22
+ spec.add_dependency 'rubocop-factory_bot', '2.26.1'
23
+ spec.add_dependency 'rubocop-performance', '1.21.1'
22
24
  spec.add_dependency 'rubocop-rails', '2.25.0'
23
- spec.add_dependency 'rubocop-rspec', '2.29.2'
25
+ spec.add_dependency 'rubocop-rspec', '3.0.1'
26
+ spec.add_dependency 'rubocop-rspec_rails', '2.30.0'
24
27
  spec.add_development_dependency 'bundler', '>= 2.2.15'
25
28
  spec.add_development_dependency 'rake', '>= 12.3.3'
26
29
  spec.add_development_dependency 'rspec', '~> 3.10'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplycop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simply Business
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-26 00:00:00.000000000 Z
11
+ date: 2024-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,28 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.64.0
19
+ version: 1.64.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.64.0
26
+ version: 1.64.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop-capybara
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 2.21.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 2.21.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop-factory_bot
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 2.26.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.26.1
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: rubocop-performance
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - '='
32
60
  - !ruby/object:Gem::Version
33
- version: 1.21.0
61
+ version: 1.21.1
34
62
  type: :runtime
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - '='
39
67
  - !ruby/object:Gem::Version
40
- version: 1.21.0
68
+ version: 1.21.1
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: rubocop-rails
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +86,28 @@ dependencies:
58
86
  requirements:
59
87
  - - '='
60
88
  - !ruby/object:Gem::Version
61
- version: 2.29.2
89
+ version: 3.0.1
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 3.0.1
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop-rspec_rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 2.30.0
62
104
  type: :runtime
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
108
  - - '='
67
109
  - !ruby/object:Gem::Version
68
- version: 2.29.2
110
+ version: 2.30.0
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: bundler
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -132,6 +174,8 @@ files:
132
174
  - ".ruby-version"
133
175
  - ".simplycop.yml"
134
176
  - ".simplycop_bundler.yml"
177
+ - ".simplycop_capybara.yml"
178
+ - ".simplycop_factory_bot.yml"
135
179
  - ".simplycop_gemspec.yml"
136
180
  - ".simplycop_layout.yml"
137
181
  - ".simplycop_lint.yml"
@@ -142,6 +186,7 @@ files:
142
186
  - ".simplycop_performance.yml"
143
187
  - ".simplycop_rails.yml"
144
188
  - ".simplycop_rspec.yml"
189
+ - ".simplycop_rspec_rails.yml"
145
190
  - ".simplycop_security.yml"
146
191
  - ".simplycop_style.yml"
147
192
  - CODEOWNERS
@@ -152,7 +197,6 @@ files:
152
197
  - _pipeline/stage_publishdocs.yml
153
198
  - _pipeline/stage_sast_tools.yml
154
199
  - bin/console
155
- - bin/setup
156
200
  - catalog-info.yaml
157
201
  - docs/index.md
158
202
  - lib/simplycop.rb
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here