Completed
Push — master ( 1341d4...acf296 )
by Alejandro
14:18 queued 10:22
created

ApplicationFactory::__invoke()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 6
c 0
b 0
f 0
dl 0
loc 10
ccs 7
cts 7
cp 1
rs 10
cc 1
nc 1
nop 1
crap 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Shlinkio\Shlink\CLI\Factory;
5
6
use Interop\Container\ContainerInterface;
7
use Shlinkio\Shlink\Core\Options\AppOptions;
8
use Symfony\Component\Console\Application as CliApp;
9
use Symfony\Component\Console\CommandLoader\ContainerCommandLoader;
10
11
class ApplicationFactory
12
{
13 1
    public function __invoke(ContainerInterface $container): CliApp
14
    {
15 1
        $config = $container->get('config')['cli'];
16 1
        $appOptions = $container->get(AppOptions::class);
17
18 1
        $commands = $config['commands'] ?? [];
19 1
        $app = new CliApp($appOptions->getName(), $appOptions->getVersion());
20 1
        $app->setCommandLoader(new ContainerCommandLoader($container, $commands));
21
22 1
        return $app;
23
    }
24
}
25