Passed
Push — master ( a7279d...feb425 )
by Andrey
11:45
created

LangUninstall   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 8
Bugs 1 Features 0
Metric Value
wmc 5
eloc 14
c 8
b 1
f 0
dl 0
loc 28
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A delete() 0 5 2
A handle() 0 7 1
A deleteSome() 0 5 2
1
<?php
2
3
namespace Helldar\LaravelLangPublisher\Console;
4
5
use Helldar\LaravelLangPublisher\Facades\Locale;
6
7
final class LangUninstall extends BaseCommand
8
{
9
    protected $signature = 'lang:uninstall'
10
    . ' {locales* : Localizations to uninstall}';
11
12
    protected $description = 'Uninstall localizations.';
13
14
    public function handle()
15
    {
16
        $this->delete($this->locales());
17
18
        $this->result
19
            ->setMessage('No uninstalled localizations.')
20
            ->show();
21
    }
22
23
    protected function delete(array $locales): void
24
    {
25
        $locales === ['*']
26
            ? $this->deleteSome(Locale::installed())
27
            : $this->deleteSome($locales);
28
    }
29
30
    protected function deleteSome(array $locales): void
31
    {
32
        foreach ($locales as $locale) {
33
            $this->result->merge(
34
                $this->localization->delete($locale)
35
            );
36
        }
37
    }
38
}
39