RoutingServices   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 9
c 1
b 0
f 0
dl 0
loc 28
ccs 9
cts 9
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A router() 0 17 2
1
<?php
2
3
namespace Joesama\Pintu\Services;
4
5
use ReflectionClass;
6
use Illuminate\Support\Arr;
7
use Illuminate\Routing\Router;
8
use Joesama\Pintu\Routings\Manager;
9
use Joesama\Pintu\Components\Manager as Component;
10
11
class RoutingServices
12
{
13
    /**
14
     * Register service provider routing component.
15
     *
16
     * @param string $providerNameSpace
17
     * @param Router $router
18
     * @param string|null $namespace
19
     *
20
     * @return void
21
     */
22 2
    public static function router(string $providerNameSpace, Router $router, ?string $namespace = null): void
23
    {
24 2
        $provider = new ReflectionClass($providerNameSpace);
25
26 2
        if ($namespace === null) {
27 2
            $properties = $provider->getDefaultProperties();
28
29 2
            $namespace = Arr::get($properties, 'namespace', \null);
30
        }
31
32 2
        $componentManager = new Component($provider);
33
34 2
        $routerManager = new Manager($componentManager);
35
36 2
        $routerManager->setNameSpace($namespace);
37
38 2
        $routerManager->routingRegistration($router);
39 2
    }
40
}
41