Skip to content

Commit e736d30

Browse files
authored
Add enum class rename rules for CakePHP 6.0 (#393)
* Add enum class rename rules for CakePHP 6.0 Support automatic renaming of enums that were moved to Enum namespace: - `DriverFeatureEnum` -> `Database\Enum\DriverFeature` - `SameSiteEnum` -> `Http\Cookie\Enum\SameSite` * Add missing resolveSameSiteEnum to resolveSameSite method rename
1 parent 9be5c02 commit e736d30

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

config/rector/sets/cakephp60.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use PHPStan\Type\ObjectType;
1313
use Rector\Config\RectorConfig;
1414
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
15+
use Rector\Renaming\Rector\Name\RenameClassRector;
1516
use Rector\Renaming\Rector\PropertyFetch\RenamePropertyRector;
1617
use Rector\Renaming\Rector\String_\RenameStringRector;
1718
use Rector\Renaming\ValueObject\MethodCallRename;
@@ -53,6 +54,19 @@
5354
'accessibleFields' => 'patchableFields',
5455
]);
5556

57+
// Move enums to Enum namespace without suffix
58+
// @see https://github.com/cakephp/cakephp/pull/19330
59+
// @see https://github.com/cakephp/cakephp/pull/19348
60+
$rectorConfig->ruleWithConfiguration(RenameClassRector::class, [
61+
'Cake\Database\DriverFeatureEnum' => 'Cake\Database\Enum\DriverFeature',
62+
'Cake\Http\Cookie\SameSiteEnum' => 'Cake\Http\Cookie\Enum\SameSite',
63+
]);
64+
65+
// Related method rename for SameSite enum
66+
$rectorConfig->ruleWithConfiguration(RenameMethodRector::class, [
67+
new MethodCallRename('Cake\Http\Cookie\Cookie', 'resolveSameSiteEnum', 'resolveSameSite'),
68+
]);
69+
5670
// ===== Remove underscores from property names =====
5771

5872
$map = [

0 commit comments

Comments
 (0)