MetadataBuilderFactory   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A make() 0 12 2
1
<?php
2
declare(strict_types = 1);
3
4
namespace Innmind\Neo4jBundle\Factory;
5
6
use Innmind\Neo4j\ONM\{
7
    Types,
8
    MetadataFactory,
9
    MetadataBuilder
10
};
11
use Innmind\Immutable\Map;
12
use Symfony\Component\Config\Definition\ConfigurationInterface;
13
14
final class MetadataBuilderFactory
15
{
16
    /**
17
     * Create a new metadata builder
18
     *
19
     * @param Types $types
20
     * @param array $factories
21
     * @param ConfigurationInterface $config
22
     *
23
     * @return MetadataBuilder
24
     */
25 4
    public static function make(
26
        Types $types,
27
        array $factories,
28
        ConfigurationInterface $config
29
    ): MetadataBuilder {
30 4
        $map = new Map('string', MetadataFactory::class);
31
32 4
        foreach ($factories as $meta => $factory) {
33 4
            $map = $map->put($meta, $factory);
34
        }
35
36 4
        return new MetadataBuilder($types, $map, $config);
37
    }
38
}
39