FailureHandlingRequest::getQueue()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Queue\Middleware\FailureHandling;
6
7
use Throwable;
8
use Yiisoft\Queue\Message\MessageInterface;
9
use Yiisoft\Queue\QueueInterface;
10
11
final class FailureHandlingRequest
12
{
13 27
    public function __construct(private MessageInterface $message, private Throwable $exception, private QueueInterface $queue)
14
    {
15 27
    }
16
17
    /**
18
     * @return MessageInterface
19
     */
20 24
    public function getMessage(): MessageInterface
21
    {
22 24
        return $this->message;
23
    }
24
25 4
    public function getException(): Throwable
26
    {
27 4
        return $this->exception;
28
    }
29
30 8
    public function getQueue(): QueueInterface
31
    {
32 8
        return $this->queue;
33
    }
34
35 20
    public function withMessage(MessageInterface $message): self
36
    {
37 20
        $instance = clone $this;
38 20
        $instance->message = $message;
39
40 20
        return $instance;
41
    }
42
43
    public function withException(Throwable $exception): self
44
    {
45
        $instance = clone $this;
46
        $instance->exception = $exception;
47
48
        return $instance;
49
    }
50
51 4
    public function withQueue(QueueInterface $queue): self
52
    {
53 4
        $instance = clone $this;
54 4
        $instance->queue = $queue;
55
56 4
        return $instance;
57
    }
58
}
59