Skip to content

Commit 2391b0d

Browse files
committed
AC-1549: Made suggestions
1 parent ee515c3 commit 2391b0d

9 files changed

+156
-284
lines changed

Magento2/Sniffs/Legacy/DiConfigSniff.php

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,27 @@
1111

1212
class DiConfigSniff implements Sniff
1313
{
14-
/**
15-
* @var string[]
16-
*/
17-
private $obsoleteDiNodesWarningCodes = [
18-
'<param' => 'FoundObsoleteParamNode',
19-
'<instance' => 'FoundObsoleteInstanceNode',
20-
'<array' => 'FoundObsoleteArrayNode',
21-
'<item key=' => 'FoundObsoleteItemNode',
22-
'<value' => 'FoundObsoleteValueNode',
23-
];
24-
25-
/**
26-
* @var string[] Associative array containing the obsolete nodes and the message to display when they are found.
27-
*/
28-
private $obsoleteDiNodes = [
29-
'<param' => 'The <param> node is obsolete. Instead, use the <argument name="..." xsi:type="...">',
30-
'<instance' => 'The <instance> node is obsolete. Instead, use the <argument name="..." xsi:type="object">',
31-
'<array' => 'The <array> node is obsolete. Instead, use the <argument name="..." xsi:type="array">',
32-
'<item key=' => 'The <item key="..."> node is obsolete. Instead, use the <item name="..." xsi:type="...">',
33-
'<value' => 'The <value> node is obsolete. Instead, provide the actual value as a text literal.'
14+
private const OBSOLETE_NODES = [
15+
'FoundObsoleteParamNode' => [
16+
'pattern' => '<param',
17+
'message' => 'The <param> node is obsolete. Instead, use the <argument name="..." xsi:type="...">'
18+
],
19+
'FoundObsoleteInstanceNode' => [
20+
'pattern' => '<instance',
21+
'message' => 'The <instance> node is obsolete. Instead, use the <argument name="..." xsi:type="object">>'
22+
],
23+
'FoundObsoleteArrayNode' => [
24+
'pattern' => '<array',
25+
'message' => 'The <array> node is obsolete. Instead, use the <argument name="..." xsi:type="array">'
26+
],
27+
'FoundObsoleteItemNode' => [
28+
'pattern' => '<item key=',
29+
'message' => 'The <item key="..."> node is obsolete. Instead, use the <item name="..." xsi:type="...">'
30+
],
31+
'FoundObsoleteValueNode' => [
32+
'pattern' => '<value',
33+
'message' => 'The <value> node is obsolete. Instead, provide the actual value as a text literal'
34+
],
3435
];
3536

3637
/**
@@ -50,12 +51,12 @@ public function process(File $phpcsFile, $stackPtr)
5051
{
5152
$lineContent = $phpcsFile->getTokensAsString($stackPtr, 1);
5253

53-
foreach ($this->obsoleteDiNodes as $element => $message) {
54-
if (strpos($lineContent, $element) !== false) {
54+
foreach (self::OBSOLETE_NODES as $code => $data) {
55+
if (strpos($lineContent, $data['pattern']) !== false) {
5556
$phpcsFile->addWarning(
56-
$message,
57+
$data['message'],
5758
$stackPtr,
58-
$this->obsoleteDiNodesWarningCodes[$element]
59+
$code
5960
);
6061
}
6162
}

Magento2/Sniffs/Legacy/EmailTemplateSniff.php

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,14 @@
1515
class EmailTemplateSniff implements Sniff
1616
{
1717
private const OBSOLETE_EMAIL_DIRECTIVES = [
18-
'/\{\{htmlescape.*?\}\}/i' => 'Directive {{htmlescape}} is obsolete. Use {{var}} instead.',
19-
'/\{\{escapehtml.*?\}\}/i' => 'Directive {{escapehtml}} is obsolete. Use {{var}} instead.',
20-
];
21-
22-
/**
23-
* @var string[]
24-
*/
25-
private $errorCodes = [
26-
'/\{\{htmlescape.*?\}\}/i' => 'FoundObsoleteHtmlescapeDirective',
27-
'/\{\{escapehtml.*?\}\}/i' => 'FoundObsoleteEscapehtmlDirective'
18+
'FoundObsoleteHtmlescapeDirective' => [
19+
'pattern' => '/\{\{htmlescape.*?\}\}/i',
20+
'message' => 'Directive {{htmlescape}} is obsolete. Use {{var}} instead.',
21+
],
22+
'FoundObsoleteEscapehtmlDirective' => [
23+
'pattern' => '/\{\{escapehtml.*?\}\}/i',
24+
'message' => 'Directive {{escapehtml}} is obsolete. Use {{var}} instead.',
25+
],
2826
];
2927

3028
/**
@@ -43,12 +41,12 @@ public function register(): array
4341
public function process(File $phpcsFile, $stackPtr)
4442
{
4543
$content = $phpcsFile->getTokens()[$stackPtr]['content'];
46-
foreach (self::OBSOLETE_EMAIL_DIRECTIVES as $directiveRegex => $errorMessage) {
47-
if (preg_match($directiveRegex, $content)) {
44+
foreach (self::OBSOLETE_EMAIL_DIRECTIVES as $code => $data) {
45+
if (preg_match($data['pattern'], $content)) {
4846
$phpcsFile->addError(
49-
$errorMessage,
47+
$data['message'],
5048
$stackPtr,
51-
$this->errorCodes[$directiveRegex]
49+
$code
5250
);
5351
}
5452
}

Magento2/Sniffs/Legacy/InstallUpgradeSniff.php

Lines changed: 51 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -13,49 +13,58 @@
1313

1414
class InstallUpgradeSniff implements Sniff
1515
{
16-
/**
17-
* @var string[]
18-
*/
19-
private $wrongPrefixes = [
20-
'install-' => 'Install scripts are obsolete. '
21-
. 'Please use declarative schema approach in module\'s etc/db_schema.xml file',
22-
'InstallSchema' => 'InstallSchema scripts are obsolete. '
23-
. 'Please use declarative schema approach in module\'s etc/db_schema.xml file',
24-
'InstallData' => 'InstallData scripts are obsolete. '
25-
. 'Please use data patches approach in module\'s Setup/Patch/Data dir',
26-
'data-install-' => 'Install scripts are obsolete. Please create class InstallData in module\'s Setup folder',
27-
'upgrade-' => 'Upgrade scripts are obsolete. '
28-
. 'Please use declarative schema approach in module\'s etc/db_schema.xml file',
29-
'UpgradeSchema' => 'UpgradeSchema scripts are obsolete. '
30-
. 'Please use declarative schema approach in module\'s etc/db_schema.xml file',
31-
'UpgradeData' => 'UpgradeData scripts are obsolete. '
32-
. 'Please use data patches approach in module\'s Setup/Patch/Data dir',
33-
'data-upgrade-' => 'Upgrade scripts are obsolete. '
34-
. 'Please use data patches approach in module\'s Setup/Patch/Data dir',
35-
'recurring' => 'Recurring scripts are obsolete. Please create class Recurring in module\'s Setup folder',
36-
];
37-
38-
/**
39-
* @var string[]
40-
*/
41-
private $wrongPrefixesErrorCodes = [
42-
'install-' => 'ObsoleteInstallScript',
43-
'InstallSchema' => 'obsoleteInstallSchemaScript',
44-
'InstallData' => 'obsoleteInstallDataScript',
45-
'data-install-' => 'obsoleteDataInstallScript',
46-
'upgrade-' => 'obsoleteUpgradeScript',
47-
'UpgradeSchema' => 'obsoleteUpgradeSchemaScript',
48-
'UpgradeData' => 'obsoleteUpgradeDataScript',
49-
'data-upgrade-' => 'obsoleteDataUpgradeScript',
50-
'recurring' => 'obsoleteRecurringScript',
16+
private const WRONG_PREFIXES = [
17+
'ObsoleteInstallScript' => [
18+
'pattern' => 'install-',
19+
'message' => 'Install scripts are obsolete. '
20+
. 'Please use declarative schema approach in module\'s etc/db_schema.xml file',
21+
],
22+
'ObsoleteInstallSchemaScript' => [
23+
'pattern' => 'InstallSchema',
24+
'message' => 'InstallSchema scripts are obsolete. '
25+
. 'Please use declarative schema approach in module\'s etc/db_schema.xml file',
26+
],
27+
'ObsoleteInstallDataScript' => [
28+
'pattern' => 'InstallData',
29+
'message' => 'InstallData scripts are obsolete. '
30+
. 'Please use data patches approach in module\'s Setup/Patch/Data dir',
31+
],
32+
'ObsoleteDataInstallScript' => [
33+
'pattern' => 'data-install-',
34+
'message' => 'Install scripts are obsolete. Please create class InstallData in module\'s Setup folder',
35+
],
36+
'ObsoleteUpgradeScript' => [
37+
'pattern' => 'upgrade-',
38+
'message' => 'Upgrade scripts are obsolete. '
39+
. 'Please use declarative schema approach in module\'s etc/db_schema.xml file',
40+
],
41+
'ObsoleteUpgradeSchemaScript' => [
42+
'pattern' => 'UpgradeSchema',
43+
'message' => 'UpgradeSchema scripts are obsolete. '
44+
. 'Please use declarative schema approach in module\'s etc/db_schema.xml file',
45+
],
46+
'ObsoleteUpgradeDataScript' => [
47+
'pattern' => 'UpgradeData',
48+
'message' => 'UpgradeData scripts are obsolete. '
49+
. 'Please use data patches approach in module\'s Setup/Patch/Data dir',
50+
],
51+
'ObsoleteDataUpgradeScript' => [
52+
'pattern' => 'data-upgrade',
53+
'message' => 'Upgrade scripts are obsolete. '
54+
. 'Please use data patches approach in module\'s Setup/Patch/Data dir',
55+
],
56+
'ObsoleteRecurringScript' => [
57+
'pattern' => 'recurring',
58+
'message' => 'Recurring scripts are obsolete. Please create class Recurring in module\'s Setup folder'
59+
]
5160
];
5261

5362
/**
5463
* @var string[]
5564
*/
56-
private $invalidDirectoriesErrorCodes = [
57-
'data' => 'dataInvalidDirectory',
58-
'sql' => 'sqlInvalidDirectory'
65+
private const INVALID_DIRECTORIES_ERROR_CODES = [
66+
'data' => 'DataInvalidDirectory',
67+
'sql' => 'SqlInvalidDirectory'
5968
];
6069

6170
/**
@@ -79,9 +88,9 @@ public function process(File $phpcsFile, $stackPtr)
7988

8089
$fileInfo = new SplFileInfo($phpcsFile->getFilename());
8190

82-
foreach ($this->wrongPrefixes as $prefix => $errorMessage) {
83-
if (strpos($fileInfo->getFilename(), $prefix) === 0) {
84-
$phpcsFile->addError($errorMessage, 0, $this->wrongPrefixesErrorCodes[$prefix]);
91+
foreach (self::WRONG_PREFIXES as $code => $data) {
92+
if (strpos($fileInfo->getFilename(), $data['pattern']) === 0) {
93+
$phpcsFile->addError($data['message'], 0, $code);
8594
}
8695
}
8796

@@ -94,7 +103,7 @@ public function process(File $phpcsFile, $stackPtr)
94103
. "- Create a data patch within module's Setup/Patch/Data folder for data upgrades.\n"
95104
. "- Use declarative schema approach in module's etc/db_schema.xml file for schema changes.",
96105
0,
97-
$this->invalidDirectoriesErrorCodes[$folderName]
106+
self::INVALID_DIRECTORIES_ERROR_CODES[$folderName]
98107
);
99108
}
100109
}

0 commit comments

Comments
 (0)