Completed
Push — master ( 45dd31...d94b70 )
by Nikola
02:35
created

ConfigFactory   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A createFromPath() 0 4 1
A createFromGlobPath() 0 10 2
1
<?php
2
/**
3
 * This file is part of the Phoundation package.
4
 *
5
 * Copyright (c) Nikola Posa
6
 *
7
 * For full copyright and license information, please refer to the LICENSE file,
8
 * located at the package root folder.
9
 */
10
11
declare(strict_types=1);
12
13
namespace Phoundation\Config;
14
15
/**
16
 * @author Nikola Posa <[email protected]>
17
 */
18
class ConfigFactory
19
{
20 3
    public static function createFromPath(string $path) : Config
21
    {
22 3
        return Config::fromArray(include $path);
23
    }
24
25 2
    public static function createFromGlobPath(string $globPath) : Config
26
    {
27 2
        $config = Config::fromArray([]);
28
29 2
        foreach (glob($globPath, GLOB_BRACE) as $path) {
30 2
            $config->merge(self::createFromPath($path));
31
        }
32
33 2
        return $config;
34
    }
35
}
36