Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
17.65% covered (danger)
17.65%
3 / 17
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
Version
17.65% covered (danger)
17.65%
3 / 17
0.00% covered (danger)
0.00%
0 / 2
12.94
0.00% covered (danger)
0.00%
0 / 1
 getString
75.00% covered (warning)
75.00%
3 / 4
0.00% covered (danger)
0.00%
0 / 1
2.06
 getArray
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace BO\Slim;
4
5class Version
6{
7    const UNKNOWN = 'version.unknown';
8
9    public static function getString()
10    {
11        $file = \App::APP_PATH . '/VERSION';
12        if (is_file($file)) {
13            return trim(file_get_contents($file));
14        }
15        return static::UNKNOWN;
16    }
17
18    public static function getArray()
19    {
20        $version = static::getString();
21        $array = [];
22        if (preg_match('#^v(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)$#', $version, $array)) {
23            return [
24                'major' => $array['major'],
25                'minor' => $array['minor'],
26                'patch' => $array['patch'],
27            ];
28        }
29        return [
30            'major' => "unknown",
31            'minor' => "0",
32            'patch' => "0",
33        ];
34    }
35}