Completed
Pull Request — master (#15)
by Alex
08:30
created

Subscriber::__construct()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 13
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 9
nc 1
nop 4
1
<?php
2
3
namespace Cmp\Queues\Infrastructure\AWS\v20121105\DomainEvent;
4
5
use Aws\Sqs\SqsClient;
6
use Cmp\Queues\Domain\Event\JSONDomainEventFactory;
7
use Cmp\Queues\Domain\Event\Subscriber as DomainSubscriber;
8
use Cmp\Queues\Infrastructure\AWS\v20121105\Queue\MessageHandler;
9
use Cmp\Queues\Infrastructure\AWS\v20121105\Queue\QueueReader;
10
use Psr\Log\LoggerInterface;
11
12
class Subscriber extends DomainSubscriber
13
{
14
    /**
15
     * @param string                 $region
16
     * @param string                 $queueName
17
     * @param LoggerInterface        $logger
18
     * @param JSONDomainEventFactory $factory
19
     */
20
    public function __construct($region, $queueName, LoggerInterface $logger, JSONDomainEventFactory $factory = null)
21
    {
22
        $queueReader = new QueueReader(
23
            SqsClient::factory([
0 ignored issues
show
Deprecated Code introduced by
The method Aws\AwsClient::factory() has been deprecated.

This method has been deprecated.

Loading history...
24
                'region'  => $region,
25
                'version' => '2012-11-05',
26
            ]),
27
            $queueName,
28
            new MessageHandler($factory ?: new JSONDomainEventFactory()),
29
            $logger
30
        );
31
        parent::__construct($queueReader, $logger);
32
    }
33
}
34