Passed
Push — master ( 29f4c1...b8c44c )
by Mike
03:51
created

Worker   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Test Coverage

Coverage 88.89%

Importance

Changes 0
Metric Value
eloc 9
dl 0
loc 36
ccs 8
cts 9
cp 0.8889
rs 10
c 0
b 0
f 0
wmc 5

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A runWorker() 0 7 4
1
<?php
2
3
4
namespace Xervice\RabbitMQ\Business\Model\Worker;
5
6
7
use Symfony\Component\Console\Output\OutputInterface;
8
use Xervice\RabbitMQ\Business\Model\Worker\Consumer\ConsumerInterface;
9
use Xervice\RabbitMQ\Business\Model\Worker\Listener\ListenerCollection;
10
11
class Worker implements WorkerInterface
12
{
13
    /**
14
     * @var \Xervice\RabbitMQ\Business\Model\Worker\Listener\ListenerCollection
15
     */
16
    private $listenerCollection;
17
18
    /**
19
     * @var \Xervice\RabbitMQ\Business\Model\Worker\Consumer\ConsumerInterface
20
     */
21
    private $consumer;
22
23
    /**
24
     * Worker constructor.
25
     *
26
     * @param \Xervice\RabbitMQ\Business\Model\Worker\Listener\ListenerCollection $listenerCollection
27
     * @param \Xervice\RabbitMQ\Business\Model\Worker\Consumer\ConsumerInterface $consumer
28
     */
29 2
    public function __construct(
30
        ListenerCollection $listenerCollection,
31
        ConsumerInterface $consumer
32
    ) {
33 2
        $this->listenerCollection = $listenerCollection;
34 2
        $this->consumer = $consumer;
35 2
    }
36
37
    /**
38
     * @param \Symfony\Component\Console\Output\OutputInterface $output
39
     */
40 2
    public function runWorker(OutputInterface $output = null): void
41
    {
42 2
        foreach ($this->listenerCollection as $listener) {
43 2
            if ($output !== null && $output->isDebug()) {
44
                $output->writeln('Run listener for queue <info>' . $listener->getQueueName() . '</info>');
45
            }
46 2
            $this->consumer->consumeQueries($listener);
47
        }
48
    }
49
}