CliServiceProvider::__invoke()   A
last analyzed

Complexity

Conditions 2
Paths 1

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 16
rs 9.7333
c 0
b 0
f 0
cc 2
nc 1
nop 1
1
<?php
2
3
namespace Schnittstabil\Dartisan\ServiceProviders;
4
5
use Garden\Cli\Cli;
6
use Garden\Cli\Args;
7
use Schnittstabil\Dartisan\Container;
8
9
/**
10
 * @SuppressWarnings(PHPMD.ShortVariable)
11
 */
12
class CliServiceProvider
13
{
14
    public function __invoke(Container $container)
15
    {
16
        $container->set(Cli::class, function (Container $c) {
17
            $cli = new Cli();
18
19
            foreach ($c->get('commands') as $class) {
20
                $class::register($cli);
21
            }
22
23
            return $cli;
24
        });
25
26
        $container->set(Args::class, function (Container $c) {
27
            return $c->get(Cli::class)->parse($c->get('argv'), true);
28
        });
29
    }
30
}
31