Version   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 2
dl 0
loc 25
ccs 8
cts 8
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A run() 0 22 5
1
<?php
2
3
namespace Basis\Job\Module;
4
5
use Basis\Filesystem;
6
use Basis\Job;
7
8
class Version extends Job
9
{
10 3
    public function run(Filesystem $fs)
11
    {
12
        $version = [
13 3
            'service' => null,
14
            'php' => PHP_VERSION,
15
        ];
16 3
17 3
        if (file_exists($fs->getPath('version.php'))) {
18 1
            $git = include $fs->getPath('version.php');
19 1
            $version['service'] = $git['tag'] ?: $git['short_sha'];
20 1
        }
21
22
        $lock = $fs->getPath('composer.lock');
23
        if (is_file($lock)) {
24 3
            $info = json_decode(file_get_contents($lock));
25
            foreach ($info->packages as $package) {
26
                $version[$package->name] = $package->version;
27
            }
28
        }
29
30
        return compact('version');
31
    }
32
}
33