Test Failed
Push — dev ( 55bb00...c2c26e )
by Janko
17:14
created

Init::run()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 66
Code Lines 56

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 53
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 56
c 0
b 0
f 0
nc 1
nop 1
dl 0
loc 66
rs 8.9599
ccs 53
cts 53
cp 1
crap 1

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
declare(strict_types=1);
4
5
namespace Stu\Config;
6
7
use DI\ContainerBuilder;
8
use Psr\Container\ContainerInterface;
9
use Stu\Module\Config\StuConfigInterface;
10
use Stu\Module\Tal\TalHelper;
11
use Stu\Module\Twig\TwigHelper;
12
13
/**
14
 * Inits the application by calling the provided callable and injecting the DIC
15
 */
16
final class Init
17
{
18
    /**
19
     * @param callable(ContainerInterface): mixed $app
20 1
     */
21
    public static function run(callable $app): void
22 1
    {
23
        date_default_timezone_set('Europe/Berlin');
24
25 1
        // ordered alphabetically
26 1
        $builder = new ContainerBuilder();
27 1
        $builder->addDefinitions(__DIR__ . '/services.php');
28 1
        $builder->addDefinitions(__DIR__ . '/../Component/Admin/services.php');
29 1
        $builder->addDefinitions(__DIR__ . '/../Component/Alliance/services.php');
30 1
        $builder->addDefinitions(__DIR__ . '/../Component/Building/services.php');
31 1
        $builder->addDefinitions(__DIR__ . '/../Component/Cli/services.php');
32 1
        $builder->addDefinitions(__DIR__ . '/../Component/Crew/services.php');
33 1
        $builder->addDefinitions(__DIR__ . '/../Component/Colony/services.php');
34 1
        $builder->addDefinitions(__DIR__ . '/../Component/Communication/services.php');
35 1
        $builder->addDefinitions(__DIR__ . '/../Component/Game/services.php');
36 1
        $builder->addDefinitions(__DIR__ . '/../Component/GrapViz/services.php');
37 1
        $builder->addDefinitions(__DIR__ . '/../Component/History/services.php');
38 1
        $builder->addDefinitions(__DIR__ . '/../Component/Image/services.php');
39 1
        $builder->addDefinitions(__DIR__ . '/../Component/Index/services.php');
40 1
        $builder->addDefinitions(__DIR__ . '/../Component/Logging/services.php');
41 1
        $builder->addDefinitions(__DIR__ . '/../Component/Player/services.php');
42 1
        $builder->addDefinitions(__DIR__ . '/../Component/Ship/services.php');
43 1
        $builder->addDefinitions(__DIR__ . '/../Component/Station/services.php');
44 1
        $builder->addDefinitions(__DIR__ . '/../Lib/services.php');
45 1
        $builder->addDefinitions(__DIR__ . '/../Module/Admin/services.php');
46 1
        $builder->addDefinitions(__DIR__ . '/../Module/Alliance/services.php');
47 1
        $builder->addDefinitions(__DIR__ . '/../Module/Award/services.php');
48 1
        $builder->addDefinitions(__DIR__ . '/../Module/Building/services.php');
49 1
        $builder->addDefinitions(__DIR__ . '/../Module/Colony/services.php');
50 1
        $builder->addDefinitions(__DIR__ . '/../Module/Communication/services.php');
51 1
        $builder->addDefinitions(__DIR__ . '/../Module/Control/services.php');
52 1
        $builder->addDefinitions(__DIR__ . '/../Module/Crew/services.php');
53 1
        $builder->addDefinitions(__DIR__ . '/../Module/Database/services.php');
54 1
        $builder->addDefinitions(__DIR__ . '/../Module/History/services.php');
55 1
        $builder->addDefinitions(__DIR__ . '/../Module/Index/services.php');
56 1
        $builder->addDefinitions(__DIR__ . '/../Module/Logging/services.php');
57 1
        $builder->addDefinitions(__DIR__ . '/../Module/Maindesk/services.php');
58 1
        $builder->addDefinitions(__DIR__ . '/../Module/Maintenance/services.php');
59 1
        $builder->addDefinitions(__DIR__ . '/../Module/Message/services.php');
60 1
        $builder->addDefinitions(__DIR__ . '/../Module/Notes/services.php');
61 1
        $builder->addDefinitions(__DIR__ . '/../Module/PlayerProfile/services.php');
62 1
        $builder->addDefinitions(__DIR__ . '/../Module/PlayerSetting/services.php');
63 1
        $builder->addDefinitions(__DIR__ . '/../Module/Prestige/services.php');
64 1
        $builder->addDefinitions(__DIR__ . '/../Module/Research/services.php');
65 1
        $builder->addDefinitions(__DIR__ . '/../Module/Ship/services.php');
66 1
        $builder->addDefinitions(__DIR__ . '/../Module/Starmap/services.php');
67 1
        $builder->addDefinitions(__DIR__ . '/../Module/Station/services.php');
68 1
        $builder->addDefinitions(__DIR__ . '/../Module/Tal/services.php');
69 1
        $builder->addDefinitions(__DIR__ . '/../Module/Tick/services.php');
70 1
        $builder->addDefinitions(__DIR__ . '/../Module/Trade/services.php');
71
        $builder->addDefinitions(__DIR__ . '/../Module/Twig/services.php');
72
        $builder->addDefinitions(__DIR__ . '/../Orm/Repository/services.php',);
73 1
74
        /** @var ContainerInterface $container */
75 1
        $container = $builder->build();
76 1
77
        $config = $container->get(StuConfigInterface::class);
78 1
        $container->get(ErrorHandler::class)->register();
79
80 1
        set_include_path(get_include_path() . PATH_SEPARATOR . $config->getGameSettings()->getWebroot());
81
82 1
        TalHelper::register($container);
83
        $twigHelper = $container->get(TwigHelper::class);
84
        $twigHelper->registerMethodsAndFilters();
85
86
        $app($container);
87
    }
88
}
89