Completed
Push — master ( cff729...25cf8a )
by Freek
01:20
created

deleteEmptySubdirectories()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Spatie\DirectoryCleanup;
4
5
use File;
6
use Illuminate\Console\Command;
7
8
class DirectoryCleanupCommand extends Command
9
{
10
    protected $signature = 'clean:directories';
11
12
    protected $description = 'Clean up directories.';
13
14
    public function handle()
15
    {
16
        $this->comment('Cleaning directories...');
17
18
        $directories = collect(config('laravel-directory-cleanup.directories'));
19
20
        collect($directories)->each(function ($config, $directory) {
21
            if (File::isDirectory($directory)) {
22
                $this->deleteFilesIfOlderThanMinutes($directory, $config['deleteAllOlderThanMinutes']);
23
                $this->deleteEmptySubdirectories($directory);
24
            }
25
        });
26
27
        $this->comment('All done!');
28
    }
29
30
    protected function deleteFilesIfOlderThanMinutes(string $directory, int $minutes)
31
    {
32
        $deletedFiles = app(DirectoryCleaner::class)
33
            ->setDirectory($directory)
34
            ->deleteFilesOlderThanMinutes($minutes);
35
36
        $this->info("Deleted {$deletedFiles->count()} file(s) from {$directory}.");
37
    }
38
39
    protected function deleteEmptySubdirectories(string $directory)
40
    {
41
        $deletedSubdirectories = app(DirectoryCleaner::class)
42
            ->setDirectory($directory)
43
            ->deleteEmptySubdirectories();
44
45
        $this->info("Deleted {$deletedSubdirectories->count()} directory(ies) from {$directory}.");
46
    }
47
}
48