makandra-rubocop 5.4.0 → 7.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.
data/config/ext/rspec.yml CHANGED
@@ -5,16 +5,88 @@ inherit_mode:
5
5
  merge:
6
6
  - Exclude
7
7
 
8
- AllCops:
9
- RSpec:
10
- Patterns:
11
- - _spec.rb
12
- - "(?:^|/)spec/"
13
- RSpec/FactoryBot:
14
- Patterns:
15
- - spec/factories.rb
16
- - spec/factories/**/*.rb
17
- - features/support/factories/**/*.rb
8
+ RSpec:
9
+ Enabled: true
10
+ Include:
11
+ - "**/*_spec.rb"
12
+ - "**/spec/**/*"
13
+ Language:
14
+ ExampleGroups:
15
+ Regular:
16
+ - describe
17
+ - context
18
+ - feature
19
+ - example_group
20
+ Skipped:
21
+ - xdescribe
22
+ - xcontext
23
+ - xfeature
24
+ Focused:
25
+ - fdescribe
26
+ - fcontext
27
+ - ffeature
28
+ Examples:
29
+ Regular:
30
+ - it
31
+ - specify
32
+ - example
33
+ - scenario
34
+ - its
35
+ Focused:
36
+ - fit
37
+ - fspecify
38
+ - fexample
39
+ - fscenario
40
+ - focus
41
+ Skipped:
42
+ - xit
43
+ - xspecify
44
+ - xexample
45
+ - xscenario
46
+ - skip
47
+ Pending:
48
+ - pending
49
+ Expectations:
50
+ - expect
51
+ - is_expected
52
+ - expect_any_instance_of
53
+ Helpers:
54
+ - let
55
+ - let!
56
+ Hooks:
57
+ - prepend_before
58
+ - before
59
+ - append_before
60
+ - around
61
+ - prepend_after
62
+ - after
63
+ - append_after
64
+ HookScopes:
65
+ - each
66
+ - example
67
+ - context
68
+ - all
69
+ - suite
70
+ Includes:
71
+ Examples:
72
+ - it_behaves_like
73
+ - it_should_behave_like
74
+ - include_examples
75
+ Context:
76
+ - include_context
77
+ Runners:
78
+ - to
79
+ - to_not
80
+ - not_to
81
+ SharedGroups:
82
+ Examples:
83
+ - shared_examples
84
+ - shared_examples_for
85
+ Context:
86
+ - shared_context
87
+ Subjects:
88
+ - subject
89
+ - subject!
18
90
 
19
91
  RSpec/AlignLeftLetBrace:
20
92
  Description: Checks that left braces for adjacent single line lets are aligned.
@@ -80,9 +152,25 @@ RSpec/ContextWording:
80
152
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ContextWording
81
153
 
82
154
  RSpec/DescribeClass:
83
- Description: Check that the first argument to the top level describe is a constant.
155
+ Description: Check that the first argument to the top-level describe is a constant.
84
156
  Enabled: false # It is nice to follow this approach but we do not want to enforce it
157
+ IgnoredMetadata:
158
+ type:
159
+ - channel
160
+ - controller
161
+ - helper
162
+ - job
163
+ - mailer
164
+ - model
165
+ - request
166
+ - routing
167
+ - view
168
+ - feature
169
+ - system
170
+ - mailbox
171
+ - aruba
85
172
  VersionAdded: '1.0'
173
+ VersionChanged: '1.44'
86
174
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/DescribeClass
87
175
 
88
176
  RSpec/DescribeMethod:
@@ -126,8 +214,8 @@ RSpec/Dialect:
126
214
  RSpec/EmptyExampleGroup:
127
215
  Description: Checks if an example group does not include any tests.
128
216
  Enabled: true
129
- CustomIncludeMethods: []
130
217
  VersionAdded: '1.7'
218
+ VersionChanged: '2.0'
131
219
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/EmptyExampleGroup
132
220
 
133
221
  RSpec/EmptyHook:
@@ -171,7 +259,9 @@ RSpec/ExampleLength:
171
259
  Description: Checks for long examples.
172
260
  Enabled: false # We do not want to have such limitation
173
261
  Max: 5
262
+ CountAsOne: []
174
263
  VersionAdded: '1.5'
264
+ VersionChanged: '2.3'
175
265
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleLength
176
266
 
177
267
  RSpec/ExampleWithoutDescription:
@@ -231,6 +321,9 @@ RSpec/ExpectOutput:
231
321
  RSpec/FilePath:
232
322
  Description: Checks that spec file paths are consistent and well-formed.
233
323
  Enabled: true
324
+ Include:
325
+ - "**/*_spec*rb*"
326
+ - "**/spec/**/*"
234
327
  CustomTransform:
235
328
  RuboCop: rubocop
236
329
  RSpec: rspec
@@ -244,6 +337,7 @@ RSpec/Focus:
244
337
  Description: Checks if examples are focused.
245
338
  Enabled: true
246
339
  VersionAdded: '1.5'
340
+ VersionChanged: '2.1'
247
341
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Focus
248
342
 
249
343
  RSpec/HookArgument:
@@ -263,6 +357,12 @@ RSpec/HooksBeforeExamples:
263
357
  VersionAdded: '1.29'
264
358
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/HooksBeforeExamples
265
359
 
360
+ RSpec/IdenticalEqualityAssertion:
361
+ Description: Checks for equality assertions with identical expressions on both sides.
362
+ Enabled: true
363
+ VersionAdded: '2.4'
364
+ StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/IdenticalEqualityAssertion
365
+
266
366
  RSpec/ImplicitBlockExpectation:
267
367
  Description: Check that implicit block expectation syntax is not used.
268
368
  Enabled: true
@@ -305,12 +405,6 @@ RSpec/InstanceVariable:
305
405
  VersionChanged: '1.7'
306
406
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InstanceVariable
307
407
 
308
- RSpec/InvalidPredicateMatcher:
309
- Description: Checks invalid usage for predicate matcher.
310
- Enabled: true
311
- VersionAdded: '1.16'
312
- StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/InvalidPredicateMatcher
313
-
314
408
  RSpec/ItBehavesLike:
315
409
  Description: Checks that only one `it_behaves_like` style is used.
316
410
  Enabled: true
@@ -387,7 +481,7 @@ RSpec/MissingExampleGroupArgument:
387
481
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MissingExampleGroupArgument
388
482
 
389
483
  RSpec/MultipleDescribes:
390
- Description: Checks for multiple top level describes.
484
+ Description: Checks for multiple top-level example groups.
391
485
  Enabled: true
392
486
  VersionAdded: '1.0'
393
487
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MultipleDescribes
@@ -400,6 +494,14 @@ RSpec/MultipleExpectations:
400
494
  VersionChanged: '1.21'
401
495
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MultipleExpectations
402
496
 
497
+ RSpec/MultipleMemoizedHelpers:
498
+ Description: Checks if example groups contain too many `let` and `subject` calls.
499
+ Enabled: false # We try to reduce the number of lets if possible, but no need to enforce it
500
+ AllowSubject: true
501
+ Max: 5
502
+ VersionAdded: '1.43'
503
+ StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/MultipleMemoizedHelpers
504
+
403
505
  RSpec/MultipleSubjects:
404
506
  Description: Checks if an example group defines `subject` multiple times.
405
507
  Enabled: true
@@ -492,6 +594,12 @@ RSpec/RepeatedExampleGroupDescription:
492
594
  VersionAdded: '1.38'
493
595
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedExampleGroupDescription
494
596
 
597
+ RSpec/RepeatedIncludeExample:
598
+ Description: Check for repeated include of shared examples.
599
+ Enabled: true
600
+ VersionAdded: '1.44'
601
+ StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/RepeatedIncludeExample
602
+
495
603
  RSpec/ReturnFromStub:
496
604
  Description: Checks for consistent style of stub's return setting.
497
605
  Enabled: true
@@ -535,6 +643,12 @@ RSpec/SingleArgumentMessageChain:
535
643
  VersionChanged: '1.10'
536
644
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SingleArgumentMessageChain
537
645
 
646
+ RSpec/StubbedMock:
647
+ Description: Checks that message expectations do not have a configured response.
648
+ Enabled: false # Maybe add later, currently there are too many conflicts
649
+ VersionAdded: '1.44'
650
+ StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/StubbedMock
651
+
538
652
  RSpec/SubjectStub:
539
653
  Description: Checks for stubbed test subjects.
540
654
  Enabled: false #https://github.com/makandra/makandra-rubocop/issues/24
@@ -564,7 +678,9 @@ RSpec/VariableName:
564
678
  SupportedStyles:
565
679
  - snake_case
566
680
  - camelCase
681
+ IgnoredPatterns: []
567
682
  VersionAdded: '1.40'
683
+ VersionChanged: '1.43'
568
684
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/VariableName
569
685
 
570
686
  RSpec/VerifiedDoubles:
@@ -588,49 +704,74 @@ RSpec/Yield:
588
704
  VersionAdded: '1.32'
589
705
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Yield
590
706
 
591
- Capybara/CurrentPathExpectation:
707
+ RSpec/Capybara/CurrentPathExpectation:
592
708
  Description: Checks that no expectations are set on Capybara's `current_path`.
593
709
  Enabled: true
594
710
  VersionAdded: '1.18'
711
+ VersionChanged: '2.0'
595
712
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/CurrentPathExpectation
596
713
 
597
- Capybara/FeatureMethods:
714
+ RSpec/Capybara/FeatureMethods:
598
715
  Description: Checks for consistent method usage in feature specs.
599
716
  Enabled: true
600
717
  EnabledMethods: []
601
718
  VersionAdded: '1.17'
602
- VersionChanged: '1.25'
719
+ VersionChanged: '2.0'
603
720
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/FeatureMethods
604
721
 
605
- Capybara/VisibilityMatcher:
722
+ RSpec/Capybara/VisibilityMatcher:
606
723
  Description: Checks for boolean visibility in capybara finders.
607
724
  Enabled: true
608
725
  VersionAdded: '1.39'
726
+ VersionChanged: '2.0'
609
727
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/VisibilityMatcher
610
728
 
611
- FactoryBot/AttributeDefinedStatically:
729
+ RSpec/FactoryBot/AttributeDefinedStatically:
612
730
  Description: Always declare attribute values as blocks.
613
731
  Enabled: true
732
+ Include:
733
+ - spec/factories.rb
734
+ - spec/factories/**/*.rb
735
+ - features/support/factories/**/*.rb
614
736
  VersionAdded: '1.28'
737
+ VersionChanged: '2.0'
615
738
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically
616
739
 
617
- FactoryBot/CreateList:
740
+ RSpec/FactoryBot/CreateList:
618
741
  Description: Checks for create_list usage.
619
742
  Enabled: true
743
+ Include:
744
+ - "**/*_spec.rb"
745
+ - "**/spec/**/*"
746
+ - spec/factories.rb
747
+ - spec/factories/**/*.rb
748
+ - features/support/factories/**/*.rb
620
749
  EnforcedStyle: create_list
621
750
  SupportedStyles:
622
751
  - create_list
623
752
  - n_times
624
753
  VersionAdded: '1.25'
754
+ VersionChanged: '2.0'
625
755
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList
626
756
 
627
- FactoryBot/FactoryClassName:
757
+ RSpec/FactoryBot/FactoryClassName:
628
758
  Description: Use string value when setting the class attribute explicitly.
629
759
  Enabled: true
760
+ Include:
761
+ - spec/factories.rb
762
+ - spec/factories/**/*.rb
763
+ - features/support/factories/**/*.rb
630
764
  VersionAdded: '1.37'
765
+ VersionChanged: '2.0'
631
766
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryClassName
632
767
 
633
- Rails/HttpStatus:
768
+ RSpec/Rails/AvoidSetupHook:
769
+ Description: Checks that tests use RSpec `before` hook over Rails `setup` method.
770
+ Enabled: true
771
+ VersionAdded: '2.4'
772
+ StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/AvoidSetupHook
773
+
774
+ RSpec/Rails/HttpStatus:
634
775
  Description: Enforces use of symbolic or numeric value to describe HTTP status.
635
776
  Enabled: false # This should not be enforced
636
777
  EnforcedStyle: symbolic
@@ -638,4 +779,5 @@ Rails/HttpStatus:
638
779
  - numeric
639
780
  - symbolic
640
781
  VersionAdded: '1.23'
782
+ VersionChanged: '2.0'
641
783
  StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HttpStatus
@@ -1,11 +1,11 @@
1
1
  require 'open3'
2
2
 
3
3
  RSpec.describe 'rubocop' do
4
- it 'has no offenses' do
4
+ it 'should not be offended' do
5
5
  command = self.class.description
6
- stdout, stderr, status = Open3.capture3('bundle', 'exec', command)
7
- output = (stderr.size > 0) ? stderr : stdout
6
+ stdout, stderr, status = Open3.capture3('bundle', 'exec', command, '--format', 'simple')
7
+ failure_message = [stderr, stdout].reject(&:empty?).join("\n\n")
8
8
 
9
- expect(status.success?).to eq(true), output
9
+ expect(status.success?).to eq(true), failure_message
10
10
  end
11
11
  end
@@ -1,3 +1,3 @@
1
1
  module MakandraRubocop
2
- VERSION = '5.4.0'.freeze
2
+ VERSION = '7.0.0'.freeze
3
3
  end
@@ -5,7 +5,7 @@ require 'makandra_rubocop/version'
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'makandra-rubocop'
7
7
  spec.version = MakandraRubocop::VERSION
8
- spec.required_ruby_version = '>= 2.3.0'
8
+ spec.required_ruby_version = '>= 2.5.0'
9
9
  spec.authors = ['Arne Hartherz', 'Emanuel Denzel']
10
10
  spec.email = ['arne.hartherz@makandra.de', 'emanuel.denzel@makandra.de']
11
11
 
@@ -23,9 +23,9 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r(^exe/)) { |f| File.basename(f) }
24
24
  spec.require_paths = ['lib']
25
25
 
26
- spec.add_dependency 'rubocop', '~> 0.81.0'
27
- spec.add_dependency 'rubocop-rails', '~> 2.5.1'
28
- spec.add_dependency 'rubocop-rspec', '~> 1.40.0'
26
+ spec.add_dependency 'rubocop', '~> 1.18.4'
27
+ spec.add_dependency 'rubocop-rails', '~> 2.11.3'
28
+ spec.add_dependency 'rubocop-rspec', '~> 2.4.0'
29
29
 
30
30
  spec.add_development_dependency 'bundler', '~> 2.0'
31
31
  spec.add_development_dependency 'rake', '~> 12.3'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: makandra-rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.0
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arne Hartherz
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-08-05 00:00:00.000000000 Z
12
+ date: 2021-09-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubocop
@@ -17,42 +17,42 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 0.81.0
20
+ version: 1.18.4
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 0.81.0
27
+ version: 1.18.4
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rubocop-rails
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 2.5.1
34
+ version: 2.11.3
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 2.5.1
41
+ version: 2.11.3
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rubocop-rspec
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: 1.40.0
48
+ version: 2.4.0
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 1.40.0
55
+ version: 2.4.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: bundler
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -119,14 +119,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
- version: 2.3.0
122
+ version: 2.5.0
123
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  requirements: []
129
- rubygems_version: 3.0.8
129
+ rubygems_version: 3.2.25
130
130
  signing_key:
131
131
  specification_version: 4
132
132
  summary: makandra's default Rubocop configuration