DynamicConsumer   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 2
Metric Value
eloc 11
dl 0
loc 47
ccs 14
cts 14
cp 1
rs 10
c 2
b 0
f 2
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A mergeQueueOptions() 0 6 2
A setQueueOptionsProvider() 0 4 1
A setContext() 0 3 1
A setupConsumer() 0 4 1
1
<?php
2
3
namespace OldSound\RabbitMqBundle\RabbitMq;
4
5
use OldSound\RabbitMqBundle\Provider\QueueOptionsProviderInterface;
6
7
class DynamicConsumer extends Consumer
8
{
9
    /**
10
     * Queue provider
11
     *
12
     * @var QueueOptionsProviderInterface
13
     */
14
    protected $queueOptionsProvider = null;
15
16
    /**
17
     * Context the consumer runs in
18
     *
19
     * @var string
20
     */
21
    protected $context = null;
22
23
    /**
24
     * QueueOptionsProvider setter
25
     *
26
     * @param QueueOptionsProviderInterface $queueOptionsProvider
27
     *
28
     * @return self
29
     */
30 1
    public function setQueueOptionsProvider(QueueOptionsProviderInterface $queueOptionsProvider)
31
    {
32 1
        $this->queueOptionsProvider = $queueOptionsProvider;
33 1
        return $this;
34
    }
35
36 1
    public function setContext($context)
37
    {
38 1
        $this->context = $context;
39 1
    }
40
41
42 9
    protected function setupConsumer()
43
    {
44 9
        $this->mergeQueueOptions();
45 9
        parent::setupConsumer();
46 9
    }
47
48 10
    protected function mergeQueueOptions()
49
    {
50 10
        if (null === $this->queueOptionsProvider) {
51 9
            return;
52
        }
53 1
        $this->queueOptions = array_merge($this->queueOptions, $this->queueOptionsProvider->getQueueOptions($this->context));
54 1
    }
55
}
56