Passed
Push — feature/add-container-protect-... ( b82e87 )
by Chema
04:32
created

ContainerException   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 5
c 2
b 0
f 0
dl 0
loc 20
rs 10
ccs 8
cts 8
cp 1
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A serviceNotInvokable() 0 3 1
A serviceNotExtendable() 0 3 1
A serviceFrozen() 0 3 1
A serviceProtected() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Gacela\Framework\Container\Exception;
6
7
use Exception;
8
use Psr\Container\ContainerExceptionInterface;
9
10
final class ContainerException extends Exception implements ContainerExceptionInterface
11
{
12 1
    public static function serviceNotInvokable(): self
13
    {
14 1
        return new self('The passed service is not invokable.');
15
    }
16
17 1
    public static function serviceNotExtendable(): self
18
    {
19 1
        return new self('The passed service is not extendable.');
20
    }
21
22 5
    public static function serviceFrozen(string $id): self
23
    {
24 5
        return new self("The service '{$id}' is frozen and cannot be extendable.");
25
    }
26
27 1
    public static function serviceProtected(string $id): self
28
    {
29 1
        return new self("The service '{$id}' is protected and cannot be extendable.");
30
    }
31
}
32