Passed
Branch main (8837c4)
by Sílvio
14:13
created

OperationStatus::isSuccess()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace Silviooosilva\CacheerPhp\CacheStore\Support;
4
5
use Silviooosilva\CacheerPhp\Utils\CacheLogger;
6
7
/**
8
 * Tracks operation state and logs using a provided logger.
9
 */
10
final class OperationStatus
11
{
12
    /** @var string */
13
    private string $message = '';
14
15
    /** @var bool */
16
    private bool $success = false;
17
18
    /** @var CacheLogger */
19
    private CacheLogger $logger;
20
21
    /**
22
     * @param CacheLogger $logger
23
     */
24
    public function __construct(CacheLogger $logger)
25
    {
26
        $this->logger = $logger;
27
    }
28
29
    /**
30
     * @param string $message
31
     * @param bool $success
32
     * @param string $level
33
     * 
34
     * @return void
35
     */
36
    public function record(string $message, bool $success, string $level = 'debug'): void
37
    {
38
        $this->message = $message;
39
        $this->success = $success;
40
41
        if (method_exists($this->logger, $level)) {
42
            $this->logger->{$level}("{$message} from redis driver.");
43
        } else {
44
            $this->logger->debug("{$message} from redis driver.");
45
        }
46
    }
47
48
    /**
49
     * @param string $message
50
     * @param bool $success
51
     * 
52
     * @return void
53
     */
54
    public function setState(string $message, bool $success): void
55
    {
56
        $this->message = $message;
57
        $this->success = $success;
58
    }
59
60
    /**
61
     * @return string
62
     */
63
    public function getMessage(): string
64
    {
65
        return $this->message;
66
    }
67
68
    /**
69
     * @return bool
70
     */
71
    public function isSuccess(): bool
72
    {
73
        return $this->success;
74
    }
75
}
76