Completed
Push — develop ( 186fbd...dd6a23 )
by Baptiste
02:23
created

HeaderFactoryFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 18
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A make() 0 10 2
1
<?php
2
declare(strict_types = 1);
3
4
namespace Innmind\Rest\ServerBundle\Factory;
5
6
use Innmind\Http\Factory\{
7
    Header\DefaultFactory,
8
    HeaderFactoryInterface
9
};
10
use Innmind\Immutable\Map;
11
12
final class HeaderFactoryFactory
13
{
14
    /**
15
     * @param array<string, HeaderFactoryInterface> $factories
16
     *
17
     * @return DefaultFactory
18
     */
19 1
    public function make(array $factories): DefaultFactory
20
    {
21 1
        $map = new Map('string', HeaderFactoryInterface::class);
22
23 1
        foreach ($factories as $alias => $factory) {
24 1
            $map = $map->put($alias, $factory);
25
        }
26
27 1
        return new DefaultFactory($map);
28
    }
29
}
30