[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
{
$io = new SymfonyStyle($input, $output);
$options = [];
$patterm = $input->getArgument('pattern') ?? 'GNUsocial.*';
$listeners = $this->dispatcher->getListeners();
$listeners = F\select($listeners,
@ -79,18 +76,24 @@ EOF
return preg_match('/' . $patterm . '/', $key);
});
echo "\n";
foreach ($listeners as $event => $listener) {
echo "Event '{$event}' handled by:\n";
echo "Event '{$event}':\n";
foreach ($listener as $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();
$options['output'] = $io;
$helper->describe($io, null, $options);
if (!$input->hasArgument('pattern')) {
$io = new SymfonyStyle($input, $output);
$options = [];
$helper = new DescriptorHelper();
$options['output'] = $io;
$helper->describe($io, null, $options);
}
return 0;
}
}