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

LangUninstall::deleteSome()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
c 0
b 0
f 0
dl 0
loc 5
rs 10
cc 2
nc 2
nop 1
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