/**
* Make a directory as described in the task description
* @param Deferred $deferred
* @param TaskInterface $task
* @return bool
*/
protected function processDeferred(Deferred $deferred, TaskInterface $task)
{
yield;
/** @var Description $description */
$description = $task->getDescription();
$deferred->notify(new Notification("Creating directory '{$description->getName()}'", Notification::PRIORITY_NORMAL));
if ($this->getFileSystem()->isDirectory($description->getName())) {
$deferred->resolve("Directory '{$description->getName()}' already exists");
return;
}
if ($this->getFileSystem()->makeDirectory($description->getName())) {
$deferred->resolve("Created directory '{$description->getName()}'");
return;
}
$deferred->reject("Directory '{$description->getName()}' could not be created");
}