TrailingSlashMiddlewareFactory::__invoke()   A
last analyzed

Complexity

Conditions 4
Paths 6

Size

Total Lines 18
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 5.5021

Importance

Changes 4
Bugs 0 Features 0
Metric Value
cc 4
eloc 10
c 4
b 0
f 0
nc 6
nop 1
dl 0
loc 18
ccs 6
cts 11
cp 0.5455
crap 5.5021
rs 9.9332
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
21 6
        $middleware = new TrailingSlashMiddleware();
22
23 6
        if ([] !== $config) {
24
            $middleware->setConfig($config);
25
        }
26
27 6
        return $middleware;
28
    }
29
}
30