Passed
Push — master ( 2bbd1f...24ea95 )
by Jonathan
01:33 queued 14s
created

TrailingSlashMiddlewareFactory   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Test Coverage

Coverage 54.55%

Importance

Changes 3
Bugs 0 Features 0
Metric Value
eloc 11
c 3
b 0
f 0
dl 0
loc 19
ccs 6
cts 11
cp 0.5455
rs 10
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 17 5
1
<?php
2
declare(strict_types=1);
3
4
namespace Ctw\Middleware\TrailingSlashMiddleware;
5
6
use Psr\Container\ContainerInterface;
7
8
class TrailingSlashMiddlewareFactory
9
{
10 6
    public function __invoke(ContainerInterface $container): TrailingSlashMiddleware
11
    {
12 6
        $config = [];
13 6
        if ($container->has('config')) {
14
            $config = $container->get('config');
15
            assert(is_array($config));
16
            if(isset($config[TrailingSlashMiddleware::class]))
17
                $config = $config[TrailingSlashMiddleware::class];
18
        }
19
20 6
        $middleware = new TrailingSlashMiddleware();
21
22 6
        if ((is_countable($config) ? count($config) : 0) > 0) {
23
            $middleware->setConfig($config);
24
        }
25
26 6
        return $middleware;
27
    }
28
}
29