Issues (91)

src/Schedule/Exception/MissingDependency.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace Zenstruck\ScheduleBundle\Schedule\Exception;
4
5
use Zenstruck\ScheduleBundle\Schedule\HasMissingDependencyMessage;
6
use Zenstruck\ScheduleBundle\Schedule\Task;
7
8
/**
9
 * @author Kevin Bond <[email protected]>
10
 */
11
final class MissingDependency extends \LogicException
12
{
13 8
    public function __construct(string $message)
14
    {
15 8
        parent::__construct($message);
16 8
    }
17
18 5
    public static function noTaskRunner(Task $task): self
19
    {
20 5
        if ($task instanceof HasMissingDependencyMessage) {
21 1
            return new self($task::getMissingDependencyMessage());
22
        }
23
24 4
        return new self(\sprintf('No task runner registered for "%s".', $task));
25
    }
26
27 4
    public static function noExtensionHandler(object $extension): self
28
    {
29 4
        if ($extension instanceof HasMissingDependencyMessage) {
30 4
            return new self($extension::getMissingDependencyMessage());
31
        }
32
33
        if (\method_exists($extension, '__toString')) {
34
            return new self(\sprintf('No extension handler registered for "%s: %s".', \get_class($extension), $extension));
0 ignored issues
show
$extension of type object is incompatible with the type double|integer|string expected by parameter $values of sprintf(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

34
            return new self(\sprintf('No extension handler registered for "%s: %s".', \get_class($extension), /** @scrutinizer ignore-type */ $extension));
Loading history...
35
        }
36
37
        return new self(\sprintf('No extension handler registered for "%s".', \get_class($extension)));
38
    }
39
}
40