Passed
Push — master ( 898f07...643d29 )
by Jonathan
13:05
created

ContainerException   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 50%

Importance

Changes 0
Metric Value
wmc 4
eloc 4
dl 0
loc 28
ccs 2
cts 4
cp 0.5
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A findType() 0 3 2
A circularDependency() 0 3 1
A shareOnMake() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Gravatalonga\Container;
6
7
use Exception;
8
use Psr\Container\ContainerExceptionInterface;
9
10
final class ContainerException extends Exception implements ContainerExceptionInterface
11
{
12
    /**
13
     * @return ContainerException
14
     */
15
    public static function circularDependency(): ContainerException
16
    {
17
        return new self('Detect Circular Dependency');
18
    }
19
20
    /**
21
     * @param string|null $type
22
     *
23
     * @return ContainerException
24
     */
25
    public static function findType(?string $type): ContainerException
26
    {
27 3
        return new self(sprintf('Unable to find type hint (%s)', ($type ?: '')));
28
    }
29 3
30
    /**
31
     * @param string $id
32
     *
33
     * @return ContainerException
34
     */
35
    public static function shareOnMake(string $id): ContainerException
36
    {
37
        return new self(sprintf('Entry is shared and cannot be called on make: %s', $id));
38
    }
39
}
40