Skip to content

Commit d12c73e

Browse files
committed
Use RuboCop's code for generating documentation
Rubocop now has a `CopsDocumentationGenerator` class that can generate consistent documentation across all projects.
1 parent 2ea1fad commit d12c73e

File tree

7 files changed

+706
-530
lines changed

7 files changed

+706
-530
lines changed

docs/modules/ROOT/pages/cops.adoc

Lines changed: 90 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,101 @@
11
// START_COP_LIST
22

3-
==== Department xref:cops_capybara.adoc[Capybara]
3+
=== Department xref:cops_capybara.adoc[Capybara]
44

5-
* link:cops_capybara.md#capybaracurrentpathexpectation[Capybara/CurrentPathExpectation]
6-
* link:cops_capybara.md#capybarafeaturemethods[Capybara/FeatureMethods]
7-
* link:cops_capybara.md#capybaravisibilitymatcher[Capybara/VisibilityMatcher]
5+
* xref:cops_capybara.adoc#capybaracurrentpathexpectation[Capybara/CurrentPathExpectation]
6+
* xref:cops_capybara.adoc#capybarafeaturemethods[Capybara/FeatureMethods]
7+
* xref:cops_capybara.adoc#capybaravisibilitymatcher[Capybara/VisibilityMatcher]
88

9-
==== Department xref:cops_factorybot.adoc[FactoryBot]
9+
=== Department xref:cops_factorybot.adoc[FactoryBot]
1010

11-
* link:cops_factorybot.md#factorybotattributedefinedstatically[FactoryBot/AttributeDefinedStatically]
12-
* link:cops_factorybot.md#factorybotcreatelist[FactoryBot/CreateList]
13-
* link:cops_factorybot.md#factorybotfactoryclassname[FactoryBot/FactoryClassName]
11+
* xref:cops_factorybot.adoc#factorybotattributedefinedstatically[FactoryBot/AttributeDefinedStatically]
12+
* xref:cops_factorybot.adoc#factorybotcreatelist[FactoryBot/CreateList]
13+
* xref:cops_factorybot.adoc#factorybotfactoryclassname[FactoryBot/FactoryClassName]
1414

15-
==== Department xref:cops_rspec.adoc[RSpec]
15+
=== Department xref:cops_rspec.adoc[RSpec]
1616

17-
* link:cops_rspec.adoc#rspecalignleftletbrace[RSpec/AlignLeftLetBrace]
18-
* link:cops_rspec.adoc#rspecalignrightletbrace[RSpec/AlignRightLetBrace]
19-
* link:cops_rspec.adoc#rspecanyinstance[RSpec/AnyInstance]
20-
* link:cops_rspec.adoc#rspecaroundblock[RSpec/AroundBlock]
21-
* link:cops_rspec.adoc#rspecbe[RSpec/Be]
22-
* link:cops_rspec.adoc#rspecbeeql[RSpec/BeEql]
23-
* link:cops_rspec.adoc#rspecbeforeafterall[RSpec/BeforeAfterAll]
24-
* link:cops_rspec.adoc#rspeccontextmethod[RSpec/ContextMethod]
25-
* link:cops_rspec.adoc#rspeccontextwording[RSpec/ContextWording]
26-
* link:cops_rspec.adoc#rspecdescribeclass[RSpec/DescribeClass]
27-
* link:cops_rspec.adoc#rspecdescribemethod[RSpec/DescribeMethod]
28-
* link:cops_rspec.adoc#rspecdescribesymbol[RSpec/DescribeSymbol]
29-
* link:cops_rspec.adoc#rspecdescribedclass[RSpec/DescribedClass]
30-
* link:cops_rspec.adoc#rspecdescribedclassmodulewrapping[RSpec/DescribedClassModuleWrapping]
31-
* link:cops_rspec.adoc#rspecdialect[RSpec/Dialect]
32-
* link:cops_rspec.adoc#rspecemptyexamplegroup[RSpec/EmptyExampleGroup]
33-
* link:cops_rspec.adoc#rspecemptyhook[RSpec/EmptyHook]
34-
* link:cops_rspec.adoc#rspecemptylineafterexample[RSpec/EmptyLineAfterExample]
35-
* link:cops_rspec.adoc#rspecemptylineafterexamplegroup[RSpec/EmptyLineAfterExampleGroup]
36-
* link:cops_rspec.adoc#rspecemptylineafterfinallet[RSpec/EmptyLineAfterFinalLet]
37-
* link:cops_rspec.adoc#rspecemptylineafterhook[RSpec/EmptyLineAfterHook]
38-
* link:cops_rspec.adoc#rspecemptylineaftersubject[RSpec/EmptyLineAfterSubject]
39-
* link:cops_rspec.adoc#rspecexamplelength[RSpec/ExampleLength]
40-
* link:cops_rspec.adoc#rspecexamplewithoutdescription[RSpec/ExampleWithoutDescription]
41-
* link:cops_rspec.adoc#rspecexamplewording[RSpec/ExampleWording]
42-
* link:cops_rspec.adoc#rspecexpectactual[RSpec/ExpectActual]
43-
* link:cops_rspec.adoc#rspecexpectchange[RSpec/ExpectChange]
44-
* link:cops_rspec.adoc#rspecexpectinhook[RSpec/ExpectInHook]
45-
* link:cops_rspec.adoc#rspecexpectoutput[RSpec/ExpectOutput]
46-
* link:cops_rspec.adoc#rspecfilepath[RSpec/FilePath]
47-
* link:cops_rspec.adoc#rspecfocus[RSpec/Focus]
48-
* link:cops_rspec.adoc#rspechookargument[RSpec/HookArgument]
49-
* link:cops_rspec.adoc#rspechooksbeforeexamples[RSpec/HooksBeforeExamples]
50-
* link:cops_rspec.adoc#rspecimplicitblockexpectation[RSpec/ImplicitBlockExpectation]
51-
* link:cops_rspec.adoc#rspecimplicitexpect[RSpec/ImplicitExpect]
52-
* link:cops_rspec.adoc#rspecimplicitsubject[RSpec/ImplicitSubject]
53-
* link:cops_rspec.adoc#rspecinstancespy[RSpec/InstanceSpy]
54-
* link:cops_rspec.adoc#rspecinstancevariable[RSpec/InstanceVariable]
55-
* link:cops_rspec.adoc#rspecinvalidpredicatematcher[RSpec/InvalidPredicateMatcher]
56-
* link:cops_rspec.adoc#rspecitbehaveslike[RSpec/ItBehavesLike]
57-
* link:cops_rspec.adoc#rspeciteratedexpectation[RSpec/IteratedExpectation]
58-
* link:cops_rspec.adoc#rspecleadingsubject[RSpec/LeadingSubject]
59-
* link:cops_rspec.adoc#rspecleakyconstantdeclaration[RSpec/LeakyConstantDeclaration]
60-
* link:cops_rspec.adoc#rspecletbeforeexamples[RSpec/LetBeforeExamples]
61-
* link:cops_rspec.adoc#rspecletsetup[RSpec/LetSetup]
62-
* link:cops_rspec.adoc#rspecmessagechain[RSpec/MessageChain]
63-
* link:cops_rspec.adoc#rspecmessageexpectation[RSpec/MessageExpectation]
64-
* link:cops_rspec.adoc#rspecmessagespies[RSpec/MessageSpies]
65-
* link:cops_rspec.adoc#rspecmissingexamplegroupargument[RSpec/MissingExampleGroupArgument]
66-
* link:cops_rspec.adoc#rspecmultipledescribes[RSpec/MultipleDescribes]
67-
* link:cops_rspec.adoc#rspecmultipleexpectations[RSpec/MultipleExpectations]
68-
* link:cops_rspec.adoc#rspecmultiplesubjects[RSpec/MultipleSubjects]
69-
* link:cops_rspec.adoc#rspecnamedsubject[RSpec/NamedSubject]
70-
* link:cops_rspec.adoc#rspecnestedgroups[RSpec/NestedGroups]
71-
* link:cops_rspec.adoc#rspecnottonot[RSpec/NotToNot]
72-
* link:cops_rspec.adoc#rspecoverwritingsetup[RSpec/OverwritingSetup]
73-
* link:cops_rspec.adoc#rspecpending[RSpec/Pending]
74-
* link:cops_rspec.adoc#rspecpredicatematcher[RSpec/PredicateMatcher]
75-
* link:cops_rspec.adoc#rspecreceivecounts[RSpec/ReceiveCounts]
76-
* link:cops_rspec.adoc#rspecreceivenever[RSpec/ReceiveNever]
77-
* link:cops_rspec.adoc#rspecrepeateddescription[RSpec/RepeatedDescription]
78-
* link:cops_rspec.adoc#rspecrepeatedexample[RSpec/RepeatedExample]
79-
* link:cops_rspec.adoc#rspecrepeatedexamplegroupbody[RSpec/RepeatedExampleGroupBody]
80-
* link:cops_rspec.adoc#rspecrepeatedexamplegroupdescription[RSpec/RepeatedExampleGroupDescription]
81-
* link:cops_rspec.adoc#rspecreturnfromstub[RSpec/ReturnFromStub]
82-
* link:cops_rspec.adoc#rspecscatteredlet[RSpec/ScatteredLet]
83-
* link:cops_rspec.adoc#rspecscatteredsetup[RSpec/ScatteredSetup]
84-
* link:cops_rspec.adoc#rspecsharedcontext[RSpec/SharedContext]
85-
* link:cops_rspec.adoc#rspecsharedexamples[RSpec/SharedExamples]
86-
* link:cops_rspec.adoc#rspecsingleargumentmessagechain[RSpec/SingleArgumentMessageChain]
87-
* link:cops_rspec.adoc#rspecsubjectstub[RSpec/SubjectStub]
88-
* link:cops_rspec.adoc#rspecunspecifiedexception[RSpec/UnspecifiedException]
89-
* link:cops_rspec.adoc#rspecvariabledefinition[RSpec/VariableDefinition]
90-
* link:cops_rspec.adoc#rspecvariablename[RSpec/VariableName]
91-
* link:cops_rspec.adoc#rspecverifieddoubles[RSpec/VerifiedDoubles]
92-
* link:cops_rspec.adoc#rspecvoidexpect[RSpec/VoidExpect]
93-
* link:cops_rspec.adoc#rspecyield[RSpec/Yield]
17+
* xref:cops_rspec.adoc#rspecalignleftletbrace[RSpec/AlignLeftLetBrace]
18+
* xref:cops_rspec.adoc#rspecalignrightletbrace[RSpec/AlignRightLetBrace]
19+
* xref:cops_rspec.adoc#rspecanyinstance[RSpec/AnyInstance]
20+
* xref:cops_rspec.adoc#rspecaroundblock[RSpec/AroundBlock]
21+
* xref:cops_rspec.adoc#rspecbe[RSpec/Be]
22+
* xref:cops_rspec.adoc#rspecbeeql[RSpec/BeEql]
23+
* xref:cops_rspec.adoc#rspecbeforeafterall[RSpec/BeforeAfterAll]
24+
* xref:cops_rspec.adoc#rspeccontextmethod[RSpec/ContextMethod]
25+
* xref:cops_rspec.adoc#rspeccontextwording[RSpec/ContextWording]
26+
* xref:cops_rspec.adoc#rspecdescribeclass[RSpec/DescribeClass]
27+
* xref:cops_rspec.adoc#rspecdescribemethod[RSpec/DescribeMethod]
28+
* xref:cops_rspec.adoc#rspecdescribesymbol[RSpec/DescribeSymbol]
29+
* xref:cops_rspec.adoc#rspecdescribedclass[RSpec/DescribedClass]
30+
* xref:cops_rspec.adoc#rspecdescribedclassmodulewrapping[RSpec/DescribedClassModuleWrapping]
31+
* xref:cops_rspec.adoc#rspecdialect[RSpec/Dialect]
32+
* xref:cops_rspec.adoc#rspecemptyexamplegroup[RSpec/EmptyExampleGroup]
33+
* xref:cops_rspec.adoc#rspecemptyhook[RSpec/EmptyHook]
34+
* xref:cops_rspec.adoc#rspecemptylineafterexample[RSpec/EmptyLineAfterExample]
35+
* xref:cops_rspec.adoc#rspecemptylineafterexamplegroup[RSpec/EmptyLineAfterExampleGroup]
36+
* xref:cops_rspec.adoc#rspecemptylineafterfinallet[RSpec/EmptyLineAfterFinalLet]
37+
* xref:cops_rspec.adoc#rspecemptylineafterhook[RSpec/EmptyLineAfterHook]
38+
* xref:cops_rspec.adoc#rspecemptylineaftersubject[RSpec/EmptyLineAfterSubject]
39+
* xref:cops_rspec.adoc#rspecexamplelength[RSpec/ExampleLength]
40+
* xref:cops_rspec.adoc#rspecexamplewithoutdescription[RSpec/ExampleWithoutDescription]
41+
* xref:cops_rspec.adoc#rspecexamplewording[RSpec/ExampleWording]
42+
* xref:cops_rspec.adoc#rspecexpectactual[RSpec/ExpectActual]
43+
* xref:cops_rspec.adoc#rspecexpectchange[RSpec/ExpectChange]
44+
* xref:cops_rspec.adoc#rspecexpectinhook[RSpec/ExpectInHook]
45+
* xref:cops_rspec.adoc#rspecexpectoutput[RSpec/ExpectOutput]
46+
* xref:cops_rspec.adoc#rspecfilepath[RSpec/FilePath]
47+
* xref:cops_rspec.adoc#rspecfocus[RSpec/Focus]
48+
* xref:cops_rspec.adoc#rspechookargument[RSpec/HookArgument]
49+
* xref:cops_rspec.adoc#rspechooksbeforeexamples[RSpec/HooksBeforeExamples]
50+
* xref:cops_rspec.adoc#rspecimplicitblockexpectation[RSpec/ImplicitBlockExpectation]
51+
* xref:cops_rspec.adoc#rspecimplicitexpect[RSpec/ImplicitExpect]
52+
* xref:cops_rspec.adoc#rspecimplicitsubject[RSpec/ImplicitSubject]
53+
* xref:cops_rspec.adoc#rspecinstancespy[RSpec/InstanceSpy]
54+
* xref:cops_rspec.adoc#rspecinstancevariable[RSpec/InstanceVariable]
55+
* xref:cops_rspec.adoc#rspecinvalidpredicatematcher[RSpec/InvalidPredicateMatcher]
56+
* xref:cops_rspec.adoc#rspecitbehaveslike[RSpec/ItBehavesLike]
57+
* xref:cops_rspec.adoc#rspeciteratedexpectation[RSpec/IteratedExpectation]
58+
* xref:cops_rspec.adoc#rspecleadingsubject[RSpec/LeadingSubject]
59+
* xref:cops_rspec.adoc#rspecleakyconstantdeclaration[RSpec/LeakyConstantDeclaration]
60+
* xref:cops_rspec.adoc#rspecletbeforeexamples[RSpec/LetBeforeExamples]
61+
* xref:cops_rspec.adoc#rspecletsetup[RSpec/LetSetup]
62+
* xref:cops_rspec.adoc#rspecmessagechain[RSpec/MessageChain]
63+
* xref:cops_rspec.adoc#rspecmessageexpectation[RSpec/MessageExpectation]
64+
* xref:cops_rspec.adoc#rspecmessagespies[RSpec/MessageSpies]
65+
* xref:cops_rspec.adoc#rspecmissingexamplegroupargument[RSpec/MissingExampleGroupArgument]
66+
* xref:cops_rspec.adoc#rspecmultipledescribes[RSpec/MultipleDescribes]
67+
* xref:cops_rspec.adoc#rspecmultipleexpectations[RSpec/MultipleExpectations]
68+
* xref:cops_rspec.adoc#rspecmultiplememoizedhelpers[RSpec/MultipleMemoizedHelpers]
69+
* xref:cops_rspec.adoc#rspecmultiplesubjects[RSpec/MultipleSubjects]
70+
* xref:cops_rspec.adoc#rspecnamedsubject[RSpec/NamedSubject]
71+
* xref:cops_rspec.adoc#rspecnestedgroups[RSpec/NestedGroups]
72+
* xref:cops_rspec.adoc#rspecnottonot[RSpec/NotToNot]
73+
* xref:cops_rspec.adoc#rspecoverwritingsetup[RSpec/OverwritingSetup]
74+
* xref:cops_rspec.adoc#rspecpending[RSpec/Pending]
75+
* xref:cops_rspec.adoc#rspecpredicatematcher[RSpec/PredicateMatcher]
76+
* xref:cops_rspec.adoc#rspecreceivecounts[RSpec/ReceiveCounts]
77+
* xref:cops_rspec.adoc#rspecreceivenever[RSpec/ReceiveNever]
78+
* xref:cops_rspec.adoc#rspecrepeateddescription[RSpec/RepeatedDescription]
79+
* xref:cops_rspec.adoc#rspecrepeatedexample[RSpec/RepeatedExample]
80+
* xref:cops_rspec.adoc#rspecrepeatedexamplegroupbody[RSpec/RepeatedExampleGroupBody]
81+
* xref:cops_rspec.adoc#rspecrepeatedexamplegroupdescription[RSpec/RepeatedExampleGroupDescription]
82+
* xref:cops_rspec.adoc#rspecrepeatedincludeexample[RSpec/RepeatedIncludeExample]
83+
* xref:cops_rspec.adoc#rspecreturnfromstub[RSpec/ReturnFromStub]
84+
* xref:cops_rspec.adoc#rspecscatteredlet[RSpec/ScatteredLet]
85+
* xref:cops_rspec.adoc#rspecscatteredsetup[RSpec/ScatteredSetup]
86+
* xref:cops_rspec.adoc#rspecsharedcontext[RSpec/SharedContext]
87+
* xref:cops_rspec.adoc#rspecsharedexamples[RSpec/SharedExamples]
88+
* xref:cops_rspec.adoc#rspecsingleargumentmessagechain[RSpec/SingleArgumentMessageChain]
89+
* xref:cops_rspec.adoc#rspecsubjectstub[RSpec/SubjectStub]
90+
* xref:cops_rspec.adoc#rspecunspecifiedexception[RSpec/UnspecifiedException]
91+
* xref:cops_rspec.adoc#rspecvariabledefinition[RSpec/VariableDefinition]
92+
* xref:cops_rspec.adoc#rspecvariablename[RSpec/VariableName]
93+
* xref:cops_rspec.adoc#rspecverifieddoubles[RSpec/VerifiedDoubles]
94+
* xref:cops_rspec.adoc#rspecvoidexpect[RSpec/VoidExpect]
95+
* xref:cops_rspec.adoc#rspecyield[RSpec/Yield]
9496

95-
==== Department xref:cops_rails.adoc[Rails]
97+
=== Department xref:cops_rails.adoc[Rails]
9698

97-
* link:cops_rails.adoc#railshttpstatus[Rails/HttpStatus]
99+
* xref:cops_rails.adoc#railshttpstatus[Rails/HttpStatus]
98100

99101
// END_COP_LIST

docs/modules/ROOT/pages/cops_capybara.adoc

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
== Capybara/CurrentPathExpectation
44

55
|===
6-
| Enabled by default | Supports autocorrection
6+
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
77

88
| Enabled
99
| Yes
10+
| Yes
11+
| 1.18
12+
| -
1013
|===
1114

1215
Checks that no expectations are set on Capybara's `current_path`.
@@ -39,10 +42,13 @@ expect(page).to have_current_path(/widgets/)
3942
== Capybara/FeatureMethods
4043

4144
|===
42-
| Enabled by default | Supports autocorrection
45+
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
4346

4447
| Enabled
4548
| Yes
49+
| Yes
50+
| 1.17
51+
| 1.25
4652
|===
4753

4854
Checks for consistent method usage in feature specs.
@@ -103,10 +109,13 @@ end
103109
== Capybara/VisibilityMatcher
104110

105111
|===
106-
| Enabled by default | Supports autocorrection
112+
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
107113

108114
| Enabled
115+
| Yes
109116
| No
117+
| 1.39
118+
| -
110119
|===
111120

112121
Checks for boolean visibility in capybara finders.
@@ -134,16 +143,6 @@ expect(page).to have_css('.foo', visible: :all)
134143
expect(page).to have_link('my link', visible: :hidden)
135144
----
136145

137-
=== Configurable attributes
138-
139-
|===
140-
| Name | Default value | Configurable values
141-
142-
| VersionAdded
143-
| `1.39`
144-
| String
145-
|===
146-
147146
=== References
148147

149148
* https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/Capybara/VisibilityMatcher

docs/modules/ROOT/pages/cops_factorybot.adoc

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
== FactoryBot/AttributeDefinedStatically
44

55
|===
6-
| Enabled by default | Supports autocorrection
6+
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
77

88
| Enabled
99
| Yes
10+
| Yes
11+
| 1.28
12+
| -
1013
|===
1114

1215
Always declare attribute values as blocks.
@@ -41,10 +44,13 @@ count { 1 }
4144
== FactoryBot/CreateList
4245

4346
|===
44-
| Enabled by default | Supports autocorrection
47+
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
4548

4649
| Enabled
4750
| Yes
51+
| Yes
52+
| 1.25
53+
| -
4854
|===
4955

5056
Checks for create_list usage.
@@ -95,10 +101,13 @@ create_list :user, 3
95101
== FactoryBot/FactoryClassName
96102

97103
|===
98-
| Enabled by default | Supports autocorrection
104+
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
99105

100106
| Enabled
101107
| Yes
108+
| Yes
109+
| 1.37
110+
| -
102111
|===
103112

104113
Use string value when setting the class attribute explicitly.

docs/modules/ROOT/pages/cops_rails.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
== Rails/HttpStatus
44

55
|===
6-
| Enabled by default | Supports autocorrection
6+
| Enabled by default | Safe | Supports autocorrection | VersionAdded | VersionChanged
77

88
| Enabled
99
| Yes
10+
| Yes
11+
| 1.23
12+
| -
1013
|===
1114

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

0 commit comments

Comments
 (0)