[COMMAND] Fix ListEvents command to properly display the callable

This commit is contained in:
Hugo Sales 2020-08-03 20:51:24 +00:00 committed by Hugo Sales
parent 292c9dc862
commit b71eded942
No known key found for this signature in database
GPG Key ID: 7D0C7EAFC9D835A0

View File

@ -69,9 +69,6 @@ EOF
protected function execute(InputInterface $input, OutputInterface $output): int protected function execute(InputInterface $input, OutputInterface $output): int
{ {
$io = new SymfonyStyle($input, $output);
$options = [];
$patterm = $input->getArgument('pattern') ?? 'GNUsocial.*'; $patterm = $input->getArgument('pattern') ?? 'GNUsocial.*';
$listeners = $this->dispatcher->getListeners(); $listeners = $this->dispatcher->getListeners();
$listeners = F\select($listeners, $listeners = F\select($listeners,
@ -79,18 +76,24 @@ EOF
return preg_match('/' . $patterm . '/', $key); return preg_match('/' . $patterm . '/', $key);
}); });
echo "\n";
foreach ($listeners as $event => $listener) { foreach ($listeners as $event => $listener) {
echo "Event '{$event}' handled by:\n"; echo "Event '{$event}':\n";
foreach ($listener as $c) { foreach ($listener as $c) {
$r = new ReflectionFunction($c); $r = new ReflectionFunction($c);
echo ' ' . get_class($r->getStaticVariables()['handler'][0]) . "\n"; $m = $r->getStaticVariables()['handler'];
echo ' ' . get_class($m[0]) . '::' . $m[1] . "\n";
} }
echo "\n";
} }
$helper = new DescriptorHelper(); if (!$input->hasArgument('pattern')) {
$options['output'] = $io; $io = new SymfonyStyle($input, $output);
$helper->describe($io, null, $options); $options = [];
$helper = new DescriptorHelper();
$options['output'] = $io;
$helper->describe($io, null, $options);
}
return 0; return 0;
} }
} }