Total Complexity | 4 |
Total Lines | 39 |
Duplicated Lines | 0 % |
Changes | 4 | ||
Bugs | 0 | Features | 1 |
1 | <?php |
||
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 | ->setMinutes($minutes) |
||
35 | ->deleteFilesOlderThanMinutes(); |
||
36 | |||
37 | $this->info("Deleted {$deletedFiles} file(s) from {$directory}."); |
||
38 | } |
||
39 | |||
40 | protected function deleteEmptySubdirectories(string $directory) |
||
47 | } |
||
48 | } |
||
49 |