Completed
Push — master ( f62f21...f72c97 )
by Freek
05:09
created

UnhealthyBackupMessage   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 4
c 1
b 0
f 1
lcom 0
cbo 1
dl 0
loc 25
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A createForBackupDestinationStatus() 0 17 4
1
<?php
2
3
namespace Spatie\Backup\Notifications;
4
5
use Spatie\Backup\Tasks\Monitor\BackupDestinationStatus;
6
7
class UnhealthyBackupMessage
8
{
9
    /**
10
     * @param \Spatie\Backup\Tasks\Monitor\BackupDestinationStatus $backupDestinationStatus
11
     *
12
     * @return string
13
     */
14
    public static function createForBackupDestinationStatus(BackupDestinationStatus $backupDestinationStatus)
15
    {
16
        if (!$backupDestinationStatus->isReachable()) {
17
            return "Could not reach {$backupDestinationStatus->getFilesystemName()}-filesystem because: {$backupDestinationStatus->getConnectionError()}";
18
        }
19
20
        $messages = [];
21
        if ($backupDestinationStatus->backupUsesTooMuchStorage()) {
22
            $messages[] = "The backup uses {$backupDestinationStatus->getHumanReadableUsedStorage()} which is more than the allowed {$backupDestinationStatus->getHumanReadableAllowedStorage()}.";
23
        }
24
25
        if ($backupDestinationStatus->newestBackupIsToolOld()) {
26
            $messages[] = 'The newest backup is older than '.$backupDestinationStatus->getMaximumAgeOfNewestBackupInDays().'day(s).';
27
        }
28
29
        return implode(' ', $messages);
30
    }
31
}
32