Skip to content

Commit 248b412

Browse files
authored
Merge pull request php-enqueue#748 from GCalmels/master
[Async Event Dispatcher]Add default to php_serializer_event_transformer
2 parents b9f8d3c + 937e3dd commit 248b412

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

pkg/async-event-dispatcher/DependencyInjection/AsyncTransformersPass.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public function process(ContainerBuilder $container)
1818

1919
$transformerIdsMap = [];
2020
$eventNamesMap = [];
21+
$defaultTransformer = null;
2122
foreach ($container->findTaggedServiceIds('enqueue.event_transformer') as $serviceId => $tagAttributes) {
2223
foreach ($tagAttributes as $tagAttribute) {
2324
if (false == isset($tagAttribute['eventName'])) {
@@ -28,11 +29,24 @@ public function process(ContainerBuilder $container)
2829

2930
$transformerName = isset($tagAttribute['transformerName']) ? $tagAttribute['transformerName'] : $serviceId;
3031

31-
$eventNamesMap[$eventName] = $transformerName;
32-
$transformerIdsMap[$transformerName] = $serviceId;
32+
if (isset($tagAttribute['default']) && $tagAttribute['default']) {
33+
$defaultTransformer = [
34+
'id' => $serviceId,
35+
'transformerName' => $transformerName,
36+
'eventName' => $eventName,
37+
];
38+
} else {
39+
$eventNamesMap[$eventName] = $transformerName;
40+
$transformerIdsMap[$transformerName] = $serviceId;
41+
}
3342
}
3443
}
3544

45+
if ($defaultTransformer) {
46+
$eventNamesMap[$defaultTransformer['eventName']] = $defaultTransformer['transformerName'];
47+
$transformerIdsMap[$defaultTransformer['transformerName']] = $defaultTransformer['id'];
48+
}
49+
3650
$container->getDefinition('enqueue.events.registry')
3751
->replaceArgument(0, $eventNamesMap)
3852
->replaceArgument(1, $transformerIdsMap)

pkg/async-event-dispatcher/Resources/config/services.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ services:
2525
- '@event_dispatcher'
2626
- '@enqueue.events.async_listener'
2727

28-
enqueue.events.php_serializer_event_transofrmer:
28+
enqueue.events.php_serializer_event_transformer:
2929
class: 'Enqueue\AsyncEventDispatcher\PhpSerializerEventTransformer'
3030
public: public
3131
arguments:
3232
- '@enqueue.events.context'
3333
tags:
34-
- {name: 'enqueue.event_transformer', eventName: '/.*/', transformerName: 'php_serializer' }
34+
- {name: 'enqueue.event_transformer', eventName: '/.*/', transformerName: 'php_serializer', default: true }

0 commit comments

Comments
 (0)