Matcher   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
eloc 6
c 0
b 0
f 0
dl 0
loc 16
ccs 7
cts 7
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A match() 0 7 2
A __construct() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Thunder micro CLI framework.
7
 * (c) Jérémy Marodon <[email protected]>
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace RxThunder\Core\Router;
13
14
use RxThunder\Core\Router\Exception\RouteNotFoundException;
15
16
class Matcher
17
{
18
    protected RouteCollection $routes;
19
20 4
    public function __construct(RouteCollection $routes)
21
    {
22 4
        $this->routes = $routes;
23 4
    }
24
25 4
    public function match(string $type): Route
26
    {
27 4
        if ($route = $this->routes->get($type)) {
28 2
            return $route;
29
        }
30
31 2
        throw new RouteNotFoundException($type);
0 ignored issues
show
Deprecated Code introduced by
The class RxThunder\Core\Router\Ex...\RouteNotFoundException has been deprecated. ( Ignorable by Annotation )

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

31
        throw /** @scrutinizer ignore-deprecated */ new RouteNotFoundException($type);
Loading history...
32
    }
33
}
34