EndpointIdLoaderFeatureStartupTask   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A start() 0 5 1
1
<?php
2
namespace PSB\Persistence\Doctrine2\Outbox;
3
4
5
use PSB\Core\BusContextInterface;
6
use PSB\Core\Feature\FeatureStartupTaskInterface;
7
use PSB\Core\Util\Settings;
8
use PSB\Persistence\Doctrine2\Doctrine2KnownSettingsEnum;
9
10
class EndpointIdLoaderFeatureStartupTask implements FeatureStartupTaskInterface
11
{
12
    /**
13
     * @var OutboxPersister
14
     */
15
    private $outboxPersister;
16
17
    /**
18
     * @var Settings
19
     */
20
    private $settings;
21
22
    /**
23
     * @var string
24
     */
25
    private $endpointName;
26
27
    /**
28
     * @param OutboxPersister $outboxPersister
29
     * @param Settings        $settings
30
     * @param string          $endpointName
31
     */
32 2
    public function __construct(OutboxPersister $outboxPersister, Settings $settings, $endpointName)
33
    {
34 2
        $this->outboxPersister = $outboxPersister;
35 2
        $this->settings = $settings;
36 2
        $this->endpointName = $endpointName;
37 2
    }
38
39
    /**
40
     * @param BusContextInterface $busContext
41
     */
42 1
    public function start(BusContextInterface $busContext)
43
    {
44 1
        $endpointId = $this->outboxPersister->fetchOrGenerateEndpointId($this->endpointName);
45 1
        $this->settings->set(Doctrine2KnownSettingsEnum::OUTBOX_ENDPOINT_ID, $endpointId);
46 1
    }
47
}
48