ReacterableInvalid   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 11
c 1
b 0
f 0
dl 0
loc 22
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A classNotExists() 0 7 1
A notImplementInterface() 0 8 1
1
<?php
2
3
/*
4
 * This file is part of PHP Contracts: Love.
5
 *
6
 * (c) Anton Komarev <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace Cog\Contracts\Love\Reacterable\Exceptions;
15
16
use Cog\Contracts\Love\Exceptions\LoveThrowable;
17
use Cog\Contracts\Love\Reacterable\Models\Reacterable;
18
use RuntimeException;
19
20
final class ReacterableInvalid extends RuntimeException implements
21
    LoveThrowable
22
{
23
    public static function classNotExists(
24
        string $type,
25
    ): self {
26
        return new self(
27
            sprintf(
28
                '[%s] class or morph map not found.',
29
                $type,
30
            ),
31
        );
32
    }
33
34
    public static function notImplementInterface(
35
        string $type,
36
    ): self {
37
        return new self(
38
            sprintf(
39
                '[%s] must implement `%s` contract.',
40
                $type,
41
                Reacterable::class,
42
            ),
43
        );
44
    }
45
}
46