Failed Conditions
Pull Request — master (#632)
by Michael
02:44
created

JsonConfiguration   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Test Coverage

Coverage 88.89%

Importance

Changes 0
Metric Value
dl 0
loc 19
ccs 8
cts 9
cp 0.8889
rs 10
c 0
b 0
f 0
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A doLoad() 0 16 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Doctrine\Migrations\Configuration;
6
7
use Doctrine\Migrations\MigrationException;
8
use function file_get_contents;
9
use function json_decode;
10
11
class JsonConfiguration extends AbstractFileConfiguration
12
{
13
    /** @inheritdoc */
14 19
    protected function doLoad(string $file) : void
15
    {
16 19
        $config = json_decode(file_get_contents($file), true);
17
18 19
        if ($config === false) {
19
            throw MigrationException::configurationNotValid('Configuration is not valid JSON.');
20
        }
21
22 19
        if (isset($config['migrations_directory'])) {
23 12
            $config['migrations_directory'] = $this->getDirectoryRelativeToFile(
24 12
                $file,
25 12
                $config['migrations_directory']
26
            );
27
        }
28
29 19
        $this->setConfiguration($config);
30 16
    }
31
}
32