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

createForBackupDestinationStatus()   A

Complexity

Conditions 4
Paths 5

Size

Total Lines 17
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

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