Passed
Push — master ( f8f613...c5dee8 )
by Thomas Mauro
03:31
created

ConfigProvider::getCommands()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 7
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 9
ccs 0
cts 2
cp 0
crap 2
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace TMV\Messenger;
6
7
use Psr\Cache\CacheItemPoolInterface;
8
use Symfony\Component\Messenger as SFMessenger;
9
use Zend\ServiceManager\Factory\InvokableFactory;
10
11
class ConfigProvider
12
{
13 3
    public function getDependencies(): array
14
    {
15
        return [
16 3
            'aliases' => [
17
                SFMessenger\Transport\Sender\SendersLocatorInterface::class => SFMessenger\Transport\Sender\SendersLocator::class,
18
                SFMessenger\Transport\TransportFactoryInterface::class => SFMessenger\Transport\TransportFactory::class,
19
            ],
20
            'factories' => [
21
                Transport\Doctrine\DoctrineDBALTransportFactory::class => Factory\Transport\Doctrine\DoctrineDBALTransportFactoryFactory::class,
22
                SFMessenger\Transport\InMemoryTransportFactory::class => InvokableFactory::class,
23
                SFMessenger\Transport\AmqpExt\AmqpTransportFactory::class => InvokableFactory::class,
24
                SFMessenger\Transport\Doctrine\DoctrineTransportFactory::class => InvokableFactory::class,
25
                SFMessenger\Transport\RedisExt\RedisTransportFactory::class => InvokableFactory::class,
26
                SFMessenger\Transport\TransportFactory::class => Factory\Transport\TransportFactoryFactory::class,
27
                SFMessenger\Transport\Sender\SendersLocator::class => Factory\Transport\Sender\SendersLocatorFactory::class,
28
                SFMessenger\Transport\Serialization\PhpSerializer::class => InvokableFactory::class,
29
                SFMessenger\Transport\Serialization\Serializer::class => InvokableFactory::class,
30
                SFMessenger\EventListener\SendFailedMessageToFailureTransportListener::class => Factory\Listener\SendFailedMessageToFailureTransportListenerFactory::class,
31
                SFMessenger\Command\ConsumeMessagesCommand::class => Factory\Command\ConsumeMessagesCommandFactory::class,
32
                SFMessenger\Command\StopWorkersCommand::class => Factory\Command\StopWorkersCommandFactory::class,
33
                SFMessenger\Command\SetupTransportsCommand::class => Factory\Command\SetupTransportsCommandFactory::class,
34
                SFMessenger\Command\FailedMessagesRemoveCommand::class => Factory\Command\FailedMessagesRemoveCommandFactory::class,
35
                SFMessenger\Command\FailedMessagesRetryCommand::class => Factory\Command\FailedMessagesRetryCommandFactory::class,
36
                SFMessenger\Command\FailedMessagesShowCommand::class => Factory\Command\FailedMessagesShowCommandFactory::class,
37
                'messenger.bus.default' => [Factory\MessageBusFactory::class, 'messenger.bus.default'],
38
                'messenger.event_dispatcher' => Factory\EventDispatcherFactory::class,
39
                'messenger.routable_message_bus' => [Factory\RoutableMessageBusFactory::class, 'messenger.bus.default'],
40
                'messenger.retry_strategy_locator' => Factory\Retry\RetryStrategyLocatorFactory::class,
41
                'messenger.receivers_locator' => Factory\Transport\Receiver\ReceiversLocatorFactory::class,
42
            ],
43
        ];
44
    }
45
46 2
    public function __invoke(): array
47
    {
48
        return [
49 2
            'dependencies' => $this->getDependencies(),
50
            'messenger' => [
51
                'failure_transport' => null,
52
                'event_dispatcher' => 'messenger.event_dispatcher',
53
                'logger' => null,
54
                'default_serializer' => SFMessenger\Transport\Serialization\PhpSerializer::class,
55
                'cache_pool_for_restart_signal' => CacheItemPoolInterface::class,
56
                'transport_factories' => [
57
                    Transport\Doctrine\DoctrineDBALTransportFactory::class,
58
                    SFMessenger\Transport\InMemoryTransportFactory::class,
59
                    SFMessenger\Transport\AmqpExt\AmqpTransportFactory::class,
60
                    SFMessenger\Transport\RedisExt\RedisTransportFactory::class,
61
                ],
62
                'buses' => [
63
                    'messenger.bus.default' => [
64
                        'middleware' => [],
65
                        'default_middleware' => true,
66
                        'allow_no_handler' => false,
67
                        'handlers' => [],
68
                        'routes' => [],
69
                    ],
70
                ],
71
                'transports' => [],
72
            ],
73
        ];
74
    }
75
}
76