make Rector description required for dumping documentation

This commit is contained in:
TomasVotruba 2020-06-16 13:39:38 +02:00
parent 2a81febb81
commit 9922ba600b
10 changed files with 29 additions and 8 deletions

View File

@ -73,6 +73,8 @@
- class: [`Rector\Architecture\Rector\Class_\ConstructorInjectionToActionInjectionRector`](/../master/rules/architecture/src/Rector/Class_/ConstructorInjectionToActionInjectionRector.php)
- [test fixtures](/../master/rules/architecture/tests/Rector/Class_/ConstructorInjectionToActionInjectionRector/Fixture)
Move constructor injection dependency in Controller to action injection
```diff
final class SomeController
{
@ -993,6 +995,8 @@ Change intval() to faster and readable (int) $value
- class: [`Rector\CodeQuality\Rector\FuncCall\IsAWithStringWithThirdArgumentRector`](/../master/rules/code-quality/src/Rector/FuncCall/IsAWithStringWithThirdArgumentRector.php)
- [test fixtures](/../master/rules/code-quality/tests/Rector/FuncCall/IsAWithStringWithThirdArgumentRector/Fixture)
Complete missing 3rd argument in case is_a() function in case of strings
```diff
class SomeClass
{
@ -1480,6 +1484,8 @@ Splits [$a, $b] = [5, 10] scalar assign to standalone lines
- class: [`Rector\CodeQuality\Rector\FuncCall\StrlenZeroToIdenticalEmptyStringRector`](/../master/rules/code-quality/src/Rector/FuncCall/StrlenZeroToIdenticalEmptyStringRector.php)
- [test fixtures](/../master/rules/code-quality/tests/Rector/FuncCall/StrlenZeroToIdenticalEmptyStringRector/Fixture)
Changes strlen comparison to 0 to direct empty string compare
```diff
class SomeClass
{
@ -2546,6 +2552,8 @@ Remove dead try/catch
- class: [`Rector\DeadCode\Rector\Plus\RemoveDeadZeroAndOneOperationRector`](/../master/rules/dead-code/src/Rector/Plus/RemoveDeadZeroAndOneOperationRector.php)
- [test fixtures](/../master/rules/dead-code/tests/Rector/Plus/RemoveDeadZeroAndOneOperationRector/Fixture)
Remove operation with 1 and 0, that have no effect on the value
```diff
class SomeClass
{
@ -2598,6 +2606,8 @@ Remove argument value, if it is the same as default value
- class: [`Rector\DeadCode\Rector\ClassMethod\RemoveDelegatingParentCallRector`](/../master/rules/dead-code/src/Rector/ClassMethod/RemoveDelegatingParentCallRector.php)
- [test fixtures](/../master/rules/dead-code/tests/Rector/ClassMethod/RemoveDelegatingParentCallRector/Fixture)
Removed dead parent call, that does not change anything
```diff
class SomeClass
{
@ -2700,6 +2710,8 @@ Remove duplicated if stmt with return in function/method body
- class: [`Rector\DeadCode\Rector\Instanceof_\RemoveDuplicatedInstanceOfRector`](/../master/rules/dead-code/src/Rector/Instanceof_/RemoveDuplicatedInstanceOfRector.php)
- [test fixtures](/../master/rules/dead-code/tests/Rector/Instanceof_/RemoveDuplicatedInstanceOfRector/Fixture)
Remove duplicated instanceof in one call
```diff
class SomeClass
{
@ -3398,6 +3410,8 @@ Replaces doctrine alias with class.
- class: [`Rector\Doctrine\Rector\Class_\ManagerRegistryGetManagerToEntityManagerRector`](/../master/rules/doctrine/src/Rector/Class_/ManagerRegistryGetManagerToEntityManagerRector.php)
- [test fixtures](/../master/rules/doctrine/tests/Rector/Class_/ManagerRegistryGetManagerToEntityManagerRector/Fixture)
Changes ManagerRegistry intermediate calls directly to EntityManager calls
```diff
-use Doctrine\Common\Persistence\ManagerRegistry;
+use Doctrine\ORM\EntityManagerInterface;
@ -7175,6 +7189,8 @@ Remove first default switch, that is ignored
- class: [`Rector\Php70\Rector\FuncCall\RenameMktimeWithoutArgsToTimeRector`](/../master/rules/php70/src/Rector/FuncCall/RenameMktimeWithoutArgsToTimeRector.php)
- [test fixtures](/../master/rules/php70/tests/Rector/FuncCall/RenameMktimeWithoutArgsToTimeRector/Fixture)
Renames mktime() without arguments to time()
```diff
class SomeClass
{

View File

@ -8,6 +8,7 @@ use Nette\Utils\Strings;
use Rector\ConsoleDiffer\MarkdownDifferAndFormatter;
use Rector\Core\Contract\Rector\RectorInterface;
use Rector\Core\Contract\RectorDefinition\CodeSampleInterface;
use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\RectorDefinition\ConfiguredCodeSample;
use Rector\DocumentationGenerator\RectorMetadataResolver;
use Rector\PHPUnit\TestClassResolver\TestClassResolver;
@ -133,6 +134,10 @@ final class MarkdownDumpRectorsOutputFormatter
}
$rectorDefinition = $rector->getDefinition();
if ($rectorDefinition->getDescription() === '') {
throw new ShouldNotHappenException(sprintf('Rector "%s" is missing description.', get_class($rector)));
}
if ($rectorDefinition->getDescription() !== '') {
$this->symfonyStyle->newLine();
$this->symfonyStyle->writeln($rectorDefinition->getDescription());

View File

@ -67,7 +67,7 @@ final class ConstructorInjectionToActionInjectionRector extends AbstractRector
public function getDefinition(): RectorDefinition
{
return new RectorDefinition('', [
return new RectorDefinition('Move constructor injection dependency in Controller to action injection', [
new CodeSample(
<<<'PHP'
final class SomeController

View File

@ -19,7 +19,7 @@ final class IsAWithStringWithThirdArgumentRector extends AbstractRector
{
public function getDefinition(): RectorDefinition
{
return new RectorDefinition('', [
return new RectorDefinition('Complete missing 3rd argument in case is_a() function in case of strings', [
new CodeSample(
<<<'PHP'
class SomeClass

View File

@ -20,7 +20,7 @@ final class StrlenZeroToIdenticalEmptyStringRector extends AbstractRector
{
public function getDefinition(): RectorDefinition
{
return new RectorDefinition('', [
return new RectorDefinition('Changes strlen comparison to 0 to direct empty string compare', [
new CodeSample(
<<<'PHP'
class SomeClass

View File

@ -30,7 +30,7 @@ final class RemoveDelegatingParentCallRector extends AbstractRector
{
public function getDefinition(): RectorDefinition
{
return new RectorDefinition('', [
return new RectorDefinition('Removed dead parent call, that does not change anything', [
new CodeSample(
<<<'PHP'
class SomeClass

View File

@ -25,7 +25,7 @@ final class RemoveDuplicatedInstanceOfRector extends AbstractRector
public function getDefinition(): RectorDefinition
{
return new RectorDefinition('', [
return new RectorDefinition('Remove duplicated instanceof in one call', [
new CodeSample(
<<<'PHP'
class SomeClass

View File

@ -30,7 +30,7 @@ final class RemoveDeadZeroAndOneOperationRector extends AbstractRector
{
public function getDefinition(): RectorDefinition
{
return new RectorDefinition('', [
return new RectorDefinition('Remove operation with 1 and 0, that have no effect on the value', [
new CodeSample(
<<<'PHP'
class SomeClass

View File

@ -42,7 +42,7 @@ final class ManagerRegistryGetManagerToEntityManagerRector extends AbstractRecto
public function getDefinition(): RectorDefinition
{
return new RectorDefinition('', [
return new RectorDefinition('Changes ManagerRegistry intermediate calls directly to EntityManager calls', [
new CodeSample(
<<<'PHP'
use Doctrine\Common\Persistence\ManagerRegistry;

View File

@ -19,7 +19,7 @@ final class RenameMktimeWithoutArgsToTimeRector extends AbstractRector
{
public function getDefinition(): RectorDefinition
{
return new RectorDefinition('', [
return new RectorDefinition('Renames mktime() without arguments to time()', [
new CodeSample(
<<<'PHP'
class SomeClass