Completed
Pull Request — master (#555)
by
unknown
13:50
created

UpdateCommand::getArguments()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 6
ccs 0
cts 0
cp 0
crap 2
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace Nwidart\Modules\Commands;
4
5
use Illuminate\Console\Command;
6
use Nwidart\Modules\Traits\ModuleCommandTrait;
7
use Symfony\Component\Console\Input\InputArgument;
8
9
class UpdateCommand extends Command
10
{
11
    use ModuleCommandTrait;
12
13
    /**
14
     * The console command name.
15
     *
16
     * @var string
17
     */
18
    protected $name = 'module:update';
19
20
    /**
21
     * The console command description.
22
     *
23
     * @var string
24
     */
25
    protected $description = 'Update dependencies for the specified module or for all modules.';
26
27
    /**
28
     * Execute the console command.
29
     */
30 View Code Duplication
    public function handle()
31
    {
32
        $name = $this->argument('module');
33
34
        if ($name) {
35
            $this->updateModule($name);
36
37
            return;
38
        }
39
40
        /** @var \Nwidart\Modules\Module $module */
41
        foreach ($this->laravel['modules']->getOrdered() as $module) {
42 92
            $this->updateModule($module->getName());
43
        }
44
    }
45 92
46
    protected function updateModule($name)
47
    {
48
        $this->line('Running for module: <info>'.$name.'</info>');
49
50
        $this->laravel['modules']->update($name);
51
52
        $this->info("Module [{$name}] updated successfully.");
53
    }
54
55
    /**
56
     * Get the console command arguments.
57
     *
58
     * @return array
59
     */
60
    protected function getArguments()
61
    {
62
        return [
63
            ['module', InputArgument::OPTIONAL, 'The name of module will be updated.'],
64
        ];
65
    }
66
}
67