Completed
Push — master ( f20bc4...886a11 )
by Baptiste
02:52 queued 43s
created

MetadataBuilderFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 25
ccs 5
cts 5
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A make() 0 13 2
1
<?php
2
declare(strict_types = 1);
3
4
namespace Innmind\Neo4jBundle\Factory;
5
6
use Innmind\Neo4j\ONM\{
7
    Types,
8
    MetadataFactoryInterface,
9
    MetadataBuilder
10
};
11
use Innmind\Immutable\Map;
12
use Symfony\Component\Config\Definition\ConfigurationInterface;
13
14
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 2
    public static function make(
26
        Types $types,
27
        array $factories,
28
        ConfigurationInterface $config
29
    ): MetadataBuilder {
30 2
        $map = new Map('string', MetadataFactoryInterface::class);
31
32 2
        foreach ($factories as $meta => $factory) {
33 2
            $map = $map->put($meta, $factory);
34
        }
35
36 2
        return new MetadataBuilder($types, $map, $config);
37
    }
38
}
39