Completed
Push — develop ( 7f6ad2...eb155e )
by Baptiste
02:38
created

MetadataBuilderFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 25
ccs 0
cts 11
cp 0
rs 10
c 0
b 0
f 0

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
    public static function make(
26
        Types $types,
27
        array $factories,
28
        ConfigurationInterface $config
29
    ): MetadataBuilder {
30
        $map = new Map('string', MetadataFactoryInterface::class);
31
32
        foreach ($factories as $meta => $factory) {
33
            $map = $map->put($meta, $factory);
34
        }
35
36
        return new MetadataBuilder($types, $map, $config);
37
    }
38
}
39