Skip to content

Commit a55a9c0

Browse files
authored
Merge pull request #8237 from kenjis/feat-spark-routes-required-filters
feat: `spark routes` shows "Required Filters"
2 parents 99c67e8 + 31823a6 commit a55a9c0

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

system/Commands/Utilities/Routes.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,5 +194,30 @@ public function run(array $params)
194194
}
195195

196196
CLI::table($tbody, $thead);
197+
198+
$this->showRequiredFilters();
199+
}
200+
201+
private function showRequiredFilters(): void
202+
{
203+
$filterCollector = new FilterCollector();
204+
205+
$required = $filterCollector->getRequiredFilters();
206+
207+
$filters = [];
208+
209+
foreach ($required['before'] as $filter) {
210+
$filters[] = CLI::color($filter, 'yellow');
211+
}
212+
213+
CLI::write('Required Before Filters: ' . implode(', ', $filters));
214+
215+
$filters = [];
216+
217+
foreach ($required['after'] as $filter) {
218+
$filters[] = CLI::color($filter, 'yellow');
219+
}
220+
221+
CLI::write(' Required After Filters: ' . implode(', ', $filters));
197222
}
198223
}

tests/system/Commands/RoutesTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,15 @@ public function testRoutesCommand(): void
7878
+---------+---------+---------------+----------------------------------------+----------------+---------------+
7979
EOL;
8080
$this->assertStringContainsString($expected, $this->getBuffer());
81+
82+
$expected = <<<'EOL'
83+
Required Before Filters: forcehttps, pagecache
84+
Required After Filters: pagecache, performance, toolbar
85+
EOL;
86+
$this->assertStringContainsString(
87+
$expected,
88+
preg_replace('/\033\[.+?m/u', '', $this->getBuffer())
89+
);
8190
}
8291

8392
public function testRoutesCommandSortByHandler(): void

0 commit comments

Comments
 (0)