ClearStaticCache   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
eloc 12
dl 0
loc 53
ccs 13
cts 13
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A clearStorageDirectory() 0 7 2
A __construct() 0 5 1
A handle() 0 5 1
1
<?php
2
3
namespace Swis\Laravel\StaticRequestCache\Commands;
4
5
use Illuminate\Console\Command;
6
use Illuminate\Filesystem\Filesystem;
7
8
class ClearStaticCache extends Command
9
{
10
    /**
11
     * The name and signature of the console command.
12
     *
13
     * @var string
14
     */
15
    protected $signature = 'static-html-cache:clear';
16
17
    /**
18
     * The console command description.
19
     *
20
     * @var string
21
     */
22
    protected $description = 'Clear static html-response caches';
23
24
    /**
25
     * @var Filesystem
26
     */
27
    private $files;
28
29
    /**
30
     * Create a new command instance.
31
     *
32
     * @param Filesystem $files
33
     */
34 9
    public function __construct(Filesystem $files)
35
    {
36 9
        $this->files = $files;
37
38 9
        parent::__construct();
39 9
    }
40
41
    /**
42
     * Execute the console command.
43
     */
44 9
    public function handle(): void
45
    {
46 9
        $this->clearStorageDirectory(config('static-html-cache.cache_path_prefix'));
47
48 9
        $this->info('Static caches cleared!');
49 9
    }
50
51
    /**
52
     * @param string $path
53
     */
54 9
    private function clearStorageDirectory(string $path): void
55
    {
56 9
        $path = public_path($path);
57 9
        $this->comment("Clearing `{$path}`…");
58
59 9
        if ($this->files->isDirectory($path)) {
60 9
            $this->files->deleteDirectory($path, true);
61
        }
62 9
    }
63
}
64