Passed
Push — master ( b8c44c...a2ae4c )
by Mike
02:04
created

RabbitMQFacade::reconnect()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 7
ccs 5
cts 5
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
namespace Xervice\RabbitMQ\Business;
5
6
use DataProvider\RabbitMqMessageCollectionDataProvider;
7
use DataProvider\RabbitMqMessageDataProvider;
8
use Symfony\Component\Console\Output\OutputInterface;
9
use Xervice\Core\Business\Model\Facade\AbstractFacade;
10
11
12
/**
13
 * @method \Xervice\RabbitMQ\Business\RabbitMQBusinessFactory getFactory()
14
 * @method \Xervice\RabbitMQ\RabbitMQConfig getConfig()
15
 */
16
class RabbitMQFacade extends AbstractFacade implements RabbitMQFacadeInterface
17
{
18
    /**
19
     * Initiate the exchanges and queues in RabbitMQ
20
     *
21
     * @api
22
     */
23 2
    public function init(): void
24
    {
25
        $this
26 2
            ->getFactory()
27 2
            ->createBootstrapper()
28 2
            ->boot();
29 2
    }
30
31 2
    public function runWorker(OutputInterface $output = null): void
32
    {
33
        $this
34 2
            ->getFactory()
35 2
            ->createWorker()
36 2
            ->runWorker($output);
37 2
    }
38
39 1
    public function reconnect(): void
40
    {
41
        $this
42 1
            ->getFactory()
43 1
            ->getConnectionProvider()
44 1
            ->getConnection()
45 1
            ->reconnect();
46 1
    }
47
48
    public function close(): void
49
    {
50
        $this
51
            ->getFactory()
52
            ->getConnectionProvider()
53
            ->getConnection()
54
            ->close();
55
    }
56
57
    /**
58
     * @param \DataProvider\RabbitMqMessageDataProvider $messageDataProvider
59
     */
60 1
    public function sendMessage(RabbitMqMessageDataProvider $messageDataProvider): void
61
    {
62
        $this
63 1
            ->getFactory()
64 1
            ->getMessageProvider()
65 1
            ->sendMessage($messageDataProvider);
66 1
    }
67
68
    /**
69
     * @param \DataProvider\RabbitMqMessageCollectionDataProvider $messageCollectionDataProvider
70
     */
71 1
    public function sendMessages(RabbitMqMessageCollectionDataProvider $messageCollectionDataProvider): void
72
    {
73
        $this
74 1
            ->getFactory()
75 1
            ->getMessageProvider()
76 1
            ->sendBulk($messageCollectionDataProvider);
77 1
    }
78
}
79