Refactoring
This commit is contained in:
35
lib/composer/vendor/consolidation/robo/src/Collection/CollectionProcessHook.php
vendored
Normal file
35
lib/composer/vendor/consolidation/robo/src/Collection/CollectionProcessHook.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
namespace Robo\Collection;
|
||||
|
||||
use Consolidation\AnnotatedCommand\Hooks\ProcessResultInterface;
|
||||
use Consolidation\AnnotatedCommand\CommandData;
|
||||
use Robo\Contract\TaskInterface;
|
||||
use Robo\Result;
|
||||
|
||||
/**
|
||||
* The collection process hook is added to the annotation command
|
||||
* hook manager in Runner::configureContainer(). This hook will be
|
||||
* called every time a command runs. If the command result is a
|
||||
* \Robo\Contract\TaskInterface (in particular, \Robo\Collection\Collection),
|
||||
* then we run the collection, and return the result. We ignore results
|
||||
* of any other type.
|
||||
*/
|
||||
class CollectionProcessHook implements ProcessResultInterface
|
||||
{
|
||||
/**
|
||||
* @param \Robo\Result|\Robo\Contract\TaskInterface $result
|
||||
* @param \Consolidation\AnnotatedCommand\CommandData $commandData
|
||||
*
|
||||
* @return null|\Robo\Result
|
||||
*/
|
||||
public function process($result, CommandData $commandData)
|
||||
{
|
||||
if ($result instanceof TaskInterface) {
|
||||
try {
|
||||
return $result->run();
|
||||
} catch (\Exception $e) {
|
||||
return Result::fromException($result, $e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user