InjectDateHeaderTransport   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 3
dl 0
loc 30
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A send() 0 10 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Genkgo\Mail\Transport;
5
6
use Genkgo\Mail\Header\Date;
7
use Genkgo\Mail\MessageInterface;
8
use Genkgo\Mail\TransportInterface;
9
10
final class InjectDateHeaderTransport implements TransportInterface
11
{
12
    /**
13
     * @var TransportInterface
14
     */
15
    private $decoratedTransport;
16
17
    /**
18
     * @param TransportInterface $transport
19
     */
20 2
    public function __construct(TransportInterface $transport)
21
    {
22 2
        $this->decoratedTransport = $transport;
23 2
    }
24
25
    /**
26
     * @param MessageInterface $message
27
     * @return void
28
     */
29 2
    public function send(MessageInterface $message): void
30
    {
31 2
        $this->decoratedTransport->send(
32 2
            $message->withHeader(
33 2
                new Date(
34 2
                    new \DateTimeImmutable()
35
                )
36
            )
37
        );
38 2
    }
39
}
40