Completed
Push — master ( cca5e9...83e357 )
by Nikola
01:54
created

GlobConfigLoader::__invoke()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 3

Importance

Changes 0
Metric Value
dl 0
loc 12
ccs 6
cts 6
cp 1
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 6
nc 3
nop 1
crap 3
1
<?php
2
/**
3
 * This file is part of the PHP Application Skeleton 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\Loader;
14
15
use Phoundation\Config\Config;
16
17
/**
18
 * @author Nikola Posa <[email protected]>
19
 */
20
final class GlobConfigLoader extends AbstractLoader
21
{
22 1
    public function __invoke(array $paths) : Config
23
    {
24 1
        $config = [];
25
26 1
        foreach ($paths as $path) {
27 1
            foreach (glob($path, GLOB_BRACE) as $file) {
28 1
                $config = self::arrayMerge($config, include $file);
29
            }
30
        }
31
32 1
        return Config::fromArray($config);
33
    }
34
}
35