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

LangUninstall::handle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

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