getElasticornConfiguration()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
cc 3
nc 3
nop 0
1
<?php
2
declare(strict_types = 1);
3
namespace T3G\Elasticorn\Configuration;
4
5
use Symfony\Component\Yaml\Yaml;
6
7
final class ApplicationConfiguration
8
{
9
10
    const ELASTICORN_CONFIG_FILENAME = 'Elasticorn.yaml';
11
    static private $configuration = [];
12
    static private $isInitialized = false;
13
14
    /**
15
     * @return array
16
     */
17
    public static function getElasticornConfiguration() : array
18
    {
19
        if (self::$isInitialized === false) {
20
            $elasticornConfigPath = getenv('configurationPath') . self::ELASTICORN_CONFIG_FILENAME;
21
            if (file_exists($elasticornConfigPath)) {
22
                self::$configuration = Yaml::parse(file_get_contents($elasticornConfigPath));
23
            }
24
            self::$isInitialized = true;
25
        }
26
        return self::$configuration;
27
    }
28
29
    /**
30
     * @return array
31
     */
32
    public static function getLanguageConfiguration() : array
33
    {
34
        $languages = [];
35
        $configuration = self::getElasticornConfiguration();
36
        if (array_key_exists('languages', $configuration)) {
37
            $languages = $configuration['languages'];
38
        }
39
        return $languages;
40
    }
41
}