ExchangeBuilder   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 30
ccs 7
cts 7
cp 1
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A buildExchange() 0 4 2
1
<?php
2
3
namespace Xervice\RabbitMQ\Business\Model\Exchange;
4
5
6
use Xervice\RabbitMQ\Business\Model\Core\ExchangeProviderInterface;
7
8
class ExchangeBuilder implements ExchangeBuilderInterface
9
{
10
    /**
11
     * @var \Xervice\RabbitMQ\Business\Model\Core\ExchangeProviderInterface
12
     */
13
    private $exchangeProvider;
14
15
    /**
16
     * @var \Xervice\RabbitMQ\Business\Model\Exchange\ExchangeCollection
17
     */
18
    private $exchangeCollection;
19
20
    /**
21
     * ExchangeBuilder constructor.
22
     *
23
     * @param \Xervice\RabbitMQ\Business\Model\Core\ExchangeProviderInterface $exchangeProvider
24
     * @param \Xervice\RabbitMQ\Business\Model\Exchange\ExchangeCollection $exchangeCollection
25
     */
26 2
    public function __construct(
27
        ExchangeProviderInterface $exchangeProvider,
28
        ExchangeCollection $exchangeCollection
29
    ) {
30 2
        $this->exchangeProvider = $exchangeProvider;
31 2
        $this->exchangeCollection = $exchangeCollection;
32 2
    }
33
34 2
    public function buildExchange(): void
35
    {
36 2
        foreach ($this->exchangeCollection as $exchange) {
37 2
            $exchange->declareExchange($this->exchangeProvider);
38
        }
39
    }
40
}