Completed
Push — master ( 030030...90a95a )
by Matze
10:56 queued 07:21
created

LocaleCompilerPass::process()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 16
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 3.1854

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 16
ccs 3
cts 9
cp 0.3333
rs 9.4286
cc 2
eloc 9
nc 2
nop 1
crap 3.1854
1
<?php
2
3
namespace BrainExe\Core\DependencyInjection\CompilerPass;
4
5
use BrainExe\Core\Annotations\CompilerPass;
6
7
use BrainExe\Core\Util\Glob;
8
9
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
10
use Symfony\Component\DependencyInjection\ContainerBuilder;
11
12
/**
13
 * @CompilerPass
14
 */
15
class LocaleCompilerPass implements CompilerPassInterface
16
{
17
    /**
18
     * {@inheritdoc}
19
     */
20 2
    public function process(ContainerBuilder $container)
21
    {
22 2
        if (!is_dir(ROOT . 'lang')) {
23 2
            return;
24
        }
25
26
        /** @var Glob $glob */
27
        $glob = $container->get('Glob');
28
29
        $locales = $glob->execGlob(ROOT . 'lang/*.po');
30
        $locales = array_map(function ($file) {
31
            return basename($file, '.po');
32
        }, $locales);
33
34
        $container->setParameter('locales', $locales);
35
    }
36
}
37