Completed
Push — master ( 0f9065...3b4731 )
by Basenko
8s
created

AbstractInitializeCommand::handle()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 13
ccs 9
cts 9
cp 1
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 8
nc 1
nop 1
crap 2
1
<?php
2
3
namespace MadWeb\Initializer\Console\Commands;
4
5
use Illuminate\Console\Command;
6
use Illuminate\Contracts\Container\Container;
7
use MadWeb\Initializer\Contracts\Executor as ExecutorContract;
8
9
abstract class AbstractInitializeCommand extends Command
10
{
11
    /**
12
     * Execute the console command.
13
     *
14
     * @return void
15
     */
16 126
    public function handle(Container $container)
17
    {
18
        /** @var ExecutorContract $Executor */
19 126
        $Executor = $container->makeWith(ExecutorContract::class, ['artisanCommand' => $this]);
20
21 126
        $Config = $container->make('config');
22 126
        $env = $Config->get($Config->get('initializer.env_config_key'));
23
24 126
        $Executor->exec($container->call([
25 126
            $this->getInitializerInstance($container),
26 126
            $this->option('root') ? $env.'Root' : $env,
27 120
        ])->getCommands());
28 120
    }
29
30
    /**
31
     * Returns initializer instance for current command.
32
     *
33
     * @return object
34
     */
35
    abstract protected function getInitializerInstance(Container $container);
36
}
37