MetadataBuilderFactory::make()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 12
ccs 5
cts 5
cp 1
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 4
nc 2
nop 3
crap 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