Passed
Pull Request — master (#391)
by Kirill
05:23
created

ServerBootloader::isLegacy()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 4
c 0
b 0
f 0
nc 2
nop 0
dl 0
loc 9
rs 10
1
<?php
2
3
/**
4
 * Spiral Framework.
5
 *
6
 * @license   MIT
7
 * @author    Anton Titov (Wolfy-J)
8
 */
9
10
declare(strict_types=1);
11
12
namespace Spiral\Bootloader;
13
14
use Composer\InstalledVersions;
15
use Spiral\Boot\Bootloader\Bootloader;
16
use Spiral\Boot\BootloadManager;
17
use Spiral\Bootloader\Server\LegacyRoadRunnerBootloader;
18
use Spiral\Bootloader\Server\RoadRunnerBootloader;
19
use Spiral\RoadRunner\Http\HttpWorker;
0 ignored issues
show
Bug introduced by
The type Spiral\RoadRunner\Http\HttpWorker was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
20
21
/**
22
 * Configures RPC connection to upper RoadRunner server.
23
 */
24
final class ServerBootloader extends Bootloader
25
{
26
    /**
27
     * @param BootloadManager $manager
28
     * @throws \Throwable
29
     */
30
    public function boot(BootloadManager $manager): void
31
    {
32
        $bootloader = $this->isLegacy()
33
            ? LegacyRoadRunnerBootloader::class
34
            : RoadRunnerBootloader::class
35
        ;
36
37
        $manager->bootload([$bootloader]);
38
    }
39
40
    /**
41
     * @return bool
42
     */
43
    private function isLegacy(): bool
44
    {
45
        if (\class_exists(InstalledVersions::class)) {
46
            $version = InstalledVersions::getVersion('spiral/roadrunner');
47
48
            return \str_starts_with($version, '1.');
49
        }
50
51
        return !\class_exists(HttpWorker::class);
52
    }
53
}
54