diff --git a/config/sets/symfony/composer-based.php b/config/sets/symfony/composer-based.php index f2027f579..377bc6507 100644 --- a/config/sets/symfony/composer-based.php +++ b/config/sets/symfony/composer-based.php @@ -43,6 +43,7 @@ use Rector\Symfony\CodeQuality\Rector\AttributeGroup\SingleConditionSecurityAttributeToIsGrantedRector; use Rector\Symfony\CodeQuality\Rector\Class_\SplitAndSecurityAttributeToIsGrantedRector; use Rector\Symfony\Symfony25\Rector\MethodCall\AddViolationToBuildViolationRector; +use Rector\Symfony\Symfony26\Rector\MethodCall\RedirectToRouteRector; use Rector\Symfony\Symfony42\Rector\New_\RootNodeTreeBuilderRector; use Rector\Symfony\Symfony42\Rector\New_\StringToArrayArgumentProcessRector; use Rector\Symfony\Symfony43\Rector\ClassMethod\EventDispatcherParentConstructRector; @@ -95,6 +96,9 @@ // symfony/validator 2.5 AddViolationToBuildViolationRector::class, + // symfony/framework-bundle 2.6 + RedirectToRouteRector::class, + // symfony/config 4.2 RootNodeTreeBuilderRector::class, diff --git a/rules-tests/Symfony26/Rector/MethodCall/RedirectToRouteRector/RedirectToRouteRectorTest.php b/rules-tests/Symfony26/Rector/MethodCall/RedirectToRouteRector/RedirectToRouteRectorTest.php index 86ff1268c..ede998bb4 100644 --- a/rules-tests/Symfony26/Rector/MethodCall/RedirectToRouteRector/RedirectToRouteRectorTest.php +++ b/rules-tests/Symfony26/Rector/MethodCall/RedirectToRouteRector/RedirectToRouteRectorTest.php @@ -25,4 +25,9 @@ public function provideConfigFilePath(): string { return __DIR__ . '/config/configured_rule.php'; } + + protected function provideComposerJsonFilePath(): string + { + return __DIR__ . '/config/composer.json'; + } } diff --git a/rules-tests/Symfony26/Rector/MethodCall/RedirectToRouteRector/config/composer.json b/rules-tests/Symfony26/Rector/MethodCall/RedirectToRouteRector/config/composer.json new file mode 100644 index 000000000..3f9a0425a --- /dev/null +++ b/rules-tests/Symfony26/Rector/MethodCall/RedirectToRouteRector/config/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "symfony/framework-bundle": "^2.6" + } +} diff --git a/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php b/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php index 488b05ac8..9334c6035 100644 --- a/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php +++ b/rules/Symfony26/Rector/MethodCall/RedirectToRouteRector.php @@ -10,19 +10,28 @@ use PhpParser\Node\Expr\MethodCall; use Rector\Rector\AbstractRector; use Rector\Symfony\TypeAnalyzer\ControllerAnalyzer; +use Rector\VersionBonding\Contract\ComposerPackageConstraintInterface; +use Rector\VersionBonding\ValueObject\ComposerPackageConstraint; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; /** + * @changelog https://github.com/symfony/symfony/blob/2.6/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md + * * @see \Rector\Symfony\Tests\Symfony26\Rector\MethodCall\RedirectToRouteRector\RedirectToRouteRectorTest */ -final class RedirectToRouteRector extends AbstractRector +final class RedirectToRouteRector extends AbstractRector implements ComposerPackageConstraintInterface { public function __construct( private readonly ControllerAnalyzer $controllerAnalyzer ) { } + public function provideComposerPackageConstraint(): ComposerPackageConstraint + { + return new ComposerPackageConstraint('symfony/framework-bundle', '>=2.6'); + } + public function getRuleDefinition(): RuleDefinition { return new RuleDefinition(