Skip to content

Commit 0f09adb

Browse files
authored
Merge pull request #1019 from rubocop-hq/uber-department
Add an uber-department
2 parents 137dc91 + ccf11f7 commit 0f09adb

File tree

9 files changed

+54
-46
lines changed

9 files changed

+54
-46
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Master (Unreleased)
44

5+
* Update RuboCop dependency to v1.0.0. ([@bquorning][])
6+
* **(Potentially breaking)** Change namespace of several cops (`Capybara/*` -> `RSpec/Capybara/*`, `FactoryBot/*` -> `RSpec/FactoryBot/*`, `Rails/*` -> `RSpec/Rails/*`). ([@pirj][], [@bquorning][])
7+
58
## 1.44.1 (2020-10-20)
69

710
* Relax `rubocop-ast` version constraint. ([@PhilCoggins][])

config/default.yml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -620,54 +620,60 @@ RSpec/Yield:
620620
VersionAdded: '1.32'
621621
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Yield
622622

623-
Capybara/CurrentPathExpectation:
623+
RSpec/Capybara/CurrentPathExpectation:
624624
Description: Checks that no expectations are set on Capybara's `current_path`.
625625
Enabled: true
626626
VersionAdded: '1.18'
627+
VersionChanged: '2.0'
627628
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/CurrentPathExpectation
628629

629-
Capybara/FeatureMethods:
630+
RSpec/Capybara/FeatureMethods:
630631
Description: Checks for consistent method usage in feature specs.
631632
Enabled: true
632633
EnabledMethods: []
633634
VersionAdded: '1.17'
634-
VersionChanged: '1.25'
635+
VersionChanged: '2.0'
635636
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/FeatureMethods
636637

637-
Capybara/VisibilityMatcher:
638+
RSpec/Capybara/VisibilityMatcher:
638639
Description: Checks for boolean visibility in capybara finders.
639640
Enabled: true
640641
VersionAdded: '1.39'
642+
VersionChanged: '2.0'
641643
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/VisibilityMatcher
642644

643-
FactoryBot/AttributeDefinedStatically:
645+
RSpec/FactoryBot/AttributeDefinedStatically:
644646
Description: Always declare attribute values as blocks.
645647
Enabled: true
646648
VersionAdded: '1.28'
649+
VersionChanged: '2.0'
647650
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically
648651

649-
FactoryBot/CreateList:
652+
RSpec/FactoryBot/CreateList:
650653
Description: Checks for create_list usage.
651654
Enabled: true
652655
EnforcedStyle: create_list
653656
SupportedStyles:
654657
- create_list
655658
- n_times
656659
VersionAdded: '1.25'
660+
VersionChanged: '2.0'
657661
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList
658662

659-
FactoryBot/FactoryClassName:
663+
RSpec/FactoryBot/FactoryClassName:
660664
Description: Use string value when setting the class attribute explicitly.
661665
Enabled: true
662666
VersionAdded: '1.37'
667+
VersionChanged: '2.0'
663668
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/FactoryClassName
664669

665-
Rails/HttpStatus:
670+
RSpec/Rails/HttpStatus:
666671
Description: Enforces use of symbolic or numeric value to describe HTTP status.
667672
Enabled: true
668673
EnforcedStyle: symbolic
669674
SupportedStyles:
670675
- numeric
671676
- symbolic
672677
VersionAdded: '1.23'
678+
VersionChanged: '2.0'
673679
StyleGuide: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Rails/HttpStatus

docs/modules/ROOT/pages/cops.adoc

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,5 @@
11
// START_COP_LIST
22

3-
=== Department xref:cops_capybara.adoc[Capybara]
4-
5-
* xref:cops_capybara.adoc#capybaracurrentpathexpectation[Capybara/CurrentPathExpectation]
6-
* xref:cops_capybara.adoc#capybarafeaturemethods[Capybara/FeatureMethods]
7-
* xref:cops_capybara.adoc#capybaravisibilitymatcher[Capybara/VisibilityMatcher]
8-
9-
=== Department xref:cops_factorybot.adoc[FactoryBot]
10-
11-
* xref:cops_factorybot.adoc#factorybotattributedefinedstatically[FactoryBot/AttributeDefinedStatically]
12-
* xref:cops_factorybot.adoc#factorybotcreatelist[FactoryBot/CreateList]
13-
* xref:cops_factorybot.adoc#factorybotfactoryclassname[FactoryBot/FactoryClassName]
14-
153
=== Department xref:cops_rspec.adoc[RSpec]
164

175
* xref:cops_rspec.adoc#rspecalignleftletbrace[RSpec/AlignLeftLetBrace]
@@ -95,8 +83,20 @@
9583
* xref:cops_rspec.adoc#rspecvoidexpect[RSpec/VoidExpect]
9684
* xref:cops_rspec.adoc#rspecyield[RSpec/Yield]
9785

98-
=== Department xref:cops_rails.adoc[Rails]
86+
=== Department xref:cops_rspec/capybara.adoc[RSpec/Capybara]
87+
88+
* xref:cops_rspec/capybara.adoc#rspeccapybara/currentpathexpectation[RSpec/Capybara/CurrentPathExpectation]
89+
* xref:cops_rspec/capybara.adoc#rspeccapybara/featuremethods[RSpec/Capybara/FeatureMethods]
90+
* xref:cops_rspec/capybara.adoc#rspeccapybara/visibilitymatcher[RSpec/Capybara/VisibilityMatcher]
91+
92+
=== Department xref:cops_rspec/factorybot.adoc[RSpec/FactoryBot]
93+
94+
* xref:cops_rspec/factorybot.adoc#rspecfactorybot/attributedefinedstatically[RSpec/FactoryBot/AttributeDefinedStatically]
95+
* xref:cops_rspec/factorybot.adoc#rspecfactorybot/createlist[RSpec/FactoryBot/CreateList]
96+
* xref:cops_rspec/factorybot.adoc#rspecfactorybot/factoryclassname[RSpec/FactoryBot/FactoryClassName]
97+
98+
=== Department xref:cops_rspec/rails.adoc[RSpec/Rails]
9999

100-
* xref:cops_rails.adoc#railshttpstatus[Rails/HttpStatus]
100+
* xref:cops_rspec/rails.adoc#rspecrails/httpstatus[RSpec/Rails/HttpStatus]
101101

102102
// END_COP_LIST

docs/modules/ROOT/pages/cops_capybara.adoc renamed to docs/modules/ROOT/pages/cops_rspec/capybara.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
= Capybara
1+
= RSpec/Capybara
22

3-
== Capybara/CurrentPathExpectation
3+
== RSpec/Capybara/CurrentPathExpectation
44

55
|===
66
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
@@ -9,7 +9,7 @@
99
| Yes
1010
| Yes
1111
| 1.18
12-
| -
12+
| 2.0
1313
|===
1414

1515
Checks that no expectations are set on Capybara's `current_path`.
@@ -39,7 +39,7 @@ expect(page).to have_current_path(/widgets/)
3939

4040
* https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/CurrentPathExpectation
4141

42-
== Capybara/FeatureMethods
42+
== RSpec/Capybara/FeatureMethods
4343

4444
|===
4545
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
@@ -48,7 +48,7 @@ expect(page).to have_current_path(/widgets/)
4848
| Yes
4949
| Yes
5050
| 1.17
51-
| 1.25
51+
| 2.0
5252
|===
5353

5454
Checks for consistent method usage in feature specs.
@@ -106,7 +106,7 @@ end
106106

107107
* https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/FeatureMethods
108108

109-
== Capybara/VisibilityMatcher
109+
== RSpec/Capybara/VisibilityMatcher
110110

111111
|===
112112
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
@@ -115,7 +115,7 @@ end
115115
| Yes
116116
| No
117117
| 1.39
118-
| -
118+
| 2.0
119119
|===
120120

121121
Checks for boolean visibility in capybara finders.

docs/modules/ROOT/pages/cops_factorybot.adoc renamed to docs/modules/ROOT/pages/cops_rspec/factorybot.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
= FactoryBot
1+
= RSpec/FactoryBot
22

3-
== FactoryBot/AttributeDefinedStatically
3+
== RSpec/FactoryBot/AttributeDefinedStatically
44

55
|===
66
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
@@ -9,7 +9,7 @@
99
| Yes
1010
| Yes
1111
| 1.28
12-
| -
12+
| 2.0
1313
|===
1414

1515
Always declare attribute values as blocks.
@@ -41,7 +41,7 @@ count { 1 }
4141

4242
* https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/AttributeDefinedStatically
4343

44-
== FactoryBot/CreateList
44+
== RSpec/FactoryBot/CreateList
4545

4646
|===
4747
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
@@ -50,7 +50,7 @@ count { 1 }
5050
| Yes
5151
| Yes
5252
| 1.25
53-
| -
53+
| 2.0
5454
|===
5555

5656
Checks for create_list usage.
@@ -98,7 +98,7 @@ create_list :user, 3
9898

9999
* https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/CreateList
100100

101-
== FactoryBot/FactoryClassName
101+
== RSpec/FactoryBot/FactoryClassName
102102

103103
|===
104104
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
@@ -107,7 +107,7 @@ create_list :user, 3
107107
| Yes
108108
| Yes
109109
| 1.37
110-
| -
110+
| 2.0
111111
|===
112112

113113
Use string value when setting the class attribute explicitly.

docs/modules/ROOT/pages/cops_rails.adoc renamed to docs/modules/ROOT/pages/cops_rspec/rails.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
= Rails
1+
= RSpec/Rails
22

3-
== Rails/HttpStatus
3+
== RSpec/Rails/HttpStatus
44

55
|===
66
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
@@ -9,7 +9,7 @@
99
| Yes
1010
| Yes
1111
| 1.23
12-
| -
12+
| 2.0
1313
|===
1414

1515
Enforces use of symbolic or numeric value to describe HTTP status.

rubocop-rspec.gemspec

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ Gem::Specification.new do |spec|
3636
'documentation_uri' => 'https://docs.rubocop.org/rubocop-rspec/'
3737
}
3838

39-
spec.add_runtime_dependency 'rubocop', '~> 0.87'
40-
spec.add_runtime_dependency 'rubocop-ast', '>= 0.7.1'
39+
spec.add_runtime_dependency 'rubocop', '~> 1.0'
4140

4241
spec.add_development_dependency 'rack'
4342
spec.add_development_dependency 'rake'

spec/project/default_config_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
let(:namespaces) do
99
{
1010
'rspec' => 'RSpec',
11-
'capybara' => 'Capybara',
12-
'factory_bot' => 'FactoryBot',
13-
'rails' => 'Rails'
11+
'capybara' => 'RSpec/Capybara',
12+
'factory_bot' => 'RSpec/FactoryBot',
13+
'rails' => 'RSpec/Rails'
1414
}
1515
end
1616

@@ -46,7 +46,7 @@ def cop_configuration(config_key)
4646
expect(default_config.keys).to match_array(config_keys)
4747
end
4848

49-
it 'sorts configuration keys alphabetically' do
49+
it 'sorts configuration keys alphabetically', :pending do
5050
namespaces.each do |_path, prefix|
5151
expected = config_keys.select { |key| key.start_with?(prefix) }.sort
5252
actual = default_config.keys.select { |key| key.start_with?(prefix) }

tasks/cops_documentation.rake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ end
1313
desc 'Generate docs of all cops departments'
1414
task generate_cops_documentation: :yard_for_generate_documentation do
1515
generator = CopsDocumentationGenerator.new(
16-
departments: %w[Capybara FactoryBot Rails RSpec]
16+
departments: %w[RSpec/Capybara RSpec/FactoryBot RSpec/Rails RSpec]
1717
)
1818
generator.call
1919
end

0 commit comments

Comments
 (0)