Skip to content

Commit 60ca9a9

Browse files
committed
Cleaned up
1 parent 850a7dd commit 60ca9a9

File tree

1 file changed

+19
-20
lines changed

1 file changed

+19
-20
lines changed

src/Drush/Commands/ConfigHelperCommands.php

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ public function enforceModuleDependencies(
9696
#[CLI\Argument(name: 'configNames', description: 'The config names.')]
9797
#[CLI\Option(name: 'optional', description: 'Create as optional config.')]
9898
#[CLI\Option(name: 'enforced', description: 'Move only config with enforced dependency on the module.')]
99-
#[CLI\Option(name: 'dry-run', description: 'Dry run.')]
10099
#[CLI\Usage(name: 'drush config_helper:write-module-config my_module', description: '')]
101100
#[CLI\Usage(name: 'drush config_helper:write-module-config --source=sites/all/config my_module', description: '')]
102101
public function writeModuleConfig(
@@ -147,37 +146,37 @@ public function writeModuleConfig(
147146
* Rename config.
148147
*/
149148
#[CLI\Command(name: 'config_helper:rename')]
150-
#[CLI\Argument(name: 'search', description: 'The value to search for.')]
151-
#[CLI\Argument(name: 'replace', description: 'The replacement value.')]
149+
#[CLI\Argument(name: 'from', description: 'The value to search for.')]
150+
#[CLI\Argument(name: 'to', description: 'The replacement value.')]
151+
#[CLI\Argument(name: 'configNames', description: 'The config names.')]
152152
#[CLI\Option(name: 'regex', description: 'Use regex search and replace.')]
153-
#[CLI\Option(name: 'dry-run', description: 'Dry run.')]
154153
#[CLI\Usage(name: 'drush config_helper:rename porject project', description: 'Fix typo in config.')]
155154
#[CLI\Usage(name: "drush config_helper:rename 'field_(.+)' '\1' --regex", description: 'Remove superfluous prefix from field machine names.')]
156155
public function rename(
157-
string $search,
158-
string $replace,
156+
string $from,
157+
string $to,
158+
array $configNames,
159159
array $options = [
160160
'regex' => FALSE,
161-
'dry-run' => FALSE,
162161
]
163162
): void {
164163
if (!$options['regex']) {
165-
$search = '/' . preg_quote($search, '/') . '/';
164+
$from = '/' . preg_quote($from, '/') . '/';
166165
}
167166

168-
$this->io()->writeln(sprintf('Replacing %s with %s in config', $search, $replace));
167+
$configNames = $this->getConfigNames($configNames);
168+
$question = sprintf("Rename %s to %s in\n * %s\n?", $from, $to, implode("\n * ", $configNames));
169+
if ($this->io()->confirm($question)) {
170+
foreach ($configNames as $name) {
171+
$config = $this->configFactory->getEditable($name);
172+
$original = $config->getRawData();
173+
$data = $this->replaceKeysAndValues($from, $to, $original);
174+
$config->setData($data);
175+
$config->save();
169176

170-
$names = $this->configFactory->listAll();
171-
foreach ($names as $name) {
172-
$config = $this->configFactory->getEditable($name);
173-
$data = $this->replaceKeysAndValues($search, $replace, $config->get());
174-
$config->setData($data);
175-
$config->save();
176-
177-
if (preg_match($search, $name)) {
178-
$newName = preg_replace($search, $replace, $name);
179-
$this->io()->writeln(sprintf('%s -> %s', $name, $newName));
180-
if (!$options['dry-run']) {
177+
$newName = preg_replace($from, $to, $name);
178+
if ($newName !== $name) {
179+
$this->io()->writeln(sprintf('%s -> %s', $name, $newName));
181180
$this->configFactory->rename($name, $newName);
182181
}
183182
}

0 commit comments

Comments
 (0)