ActivityLogMessageDispatcher::dispatch()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 4
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 7
rs 10
1
<?php
2
3
namespace Locastic\Loggastic\MessageDispatcher;
4
5
use Locastic\Loggastic\Message\ActivityLogMessageInterface;
6
use Symfony\Component\Messenger\Envelope;
7
use Symfony\Component\Messenger\MessageBusInterface;
8
use Symfony\Component\Messenger\Stamp\TransportNamesStamp;
9
10
class ActivityLogMessageDispatcher implements ActivityLogMessageDispatcherInterface
11
{
12
    public function __construct(private readonly MessageBusInterface $bus)
13
    {
14
    }
15
16
    public function dispatch(ActivityLogMessageInterface $activityLogMessage, ?string $transportName = null): void
17
    {
18
        $stamps = [];
19
        if($transportName !== null) {
20
            $stamps[] = new TransportNamesStamp($transportName);
21
        }
22
        $this->bus->dispatch(new Envelope($activityLogMessage), $stamps);
23
    }
24
}
25