From 43455d5ae11667586f5a2f4c3717e8575648b2ff Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 13 Jan 2021 23:49:03 +0000 Subject: [PATCH] Auto-configure event subscribers References #347 --- web/modules/custom/blog/opdavies_blog.services.yml | 10 ---------- .../custom/blog/src/OpdaviesBlogServiceProvider.php | 5 ++++- web/modules/custom/talks/opdavies_talks.services.yml | 4 ---- .../custom/talks/src/OpdaviesTalksServiceProvider.php | 5 ++++- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/web/modules/custom/blog/opdavies_blog.services.yml b/web/modules/custom/blog/opdavies_blog.services.yml index f633240..5e69633 100644 --- a/web/modules/custom/blog/opdavies_blog.services.yml +++ b/web/modules/custom/blog/opdavies_blog.services.yml @@ -11,15 +11,5 @@ services: Drupal\Core\Queue\QueueFactory: alias: queue - Drupal\opdavies_blog\EventSubscriber\PushPostToSocialMediaOnceItIsPublished: - autowire: true - tags: - - { name: event_subscriber } - - Drupal\opdavies_blog\EventSubscriber\SortTagsAlphabeticallyWhenPostIsSaved: - autowire: true - tags: - - { name: event_subscriber } - GuzzleHttp\ClientInterface: alias: http_client diff --git a/web/modules/custom/blog/src/OpdaviesBlogServiceProvider.php b/web/modules/custom/blog/src/OpdaviesBlogServiceProvider.php index ad1898a..42afc58 100644 --- a/web/modules/custom/blog/src/OpdaviesBlogServiceProvider.php +++ b/web/modules/custom/blog/src/OpdaviesBlogServiceProvider.php @@ -12,7 +12,7 @@ use Symfony\Component\Finder\Finder; final class OpdaviesBlogServiceProvider implements ServiceProviderInterface { public function register(ContainerBuilder $container): void { - foreach (['Repository', 'Service'] as $directory) { + foreach (['EventSubscriber', 'Repository', 'Service'] as $directory) { $files = Finder::create() ->in(__DIR__ . '/' . $directory) ->files() @@ -28,6 +28,9 @@ final class OpdaviesBlogServiceProvider implements ServiceProviderInterface { $definition = new Definition($class); $definition->setAutowired(TRUE); + if ($directory == 'EventSubscriber') { + $definition->addTag('event_subscriber'); + } $container->setDefinition($class, $definition); } } diff --git a/web/modules/custom/talks/opdavies_talks.services.yml b/web/modules/custom/talks/opdavies_talks.services.yml index bcf3001..3031177 100644 --- a/web/modules/custom/talks/opdavies_talks.services.yml +++ b/web/modules/custom/talks/opdavies_talks.services.yml @@ -4,7 +4,3 @@ services: Drupal\Core\Entity\EntityTypeManagerInterface: alias: entity_type.manager - - Drupal\opdavies_talks\EventSubscriber\UpdateTalkNodeBeforeSave: - tags: - - { name: event_subscriber } diff --git a/web/modules/custom/talks/src/OpdaviesTalksServiceProvider.php b/web/modules/custom/talks/src/OpdaviesTalksServiceProvider.php index 866125b..5cee195 100644 --- a/web/modules/custom/talks/src/OpdaviesTalksServiceProvider.php +++ b/web/modules/custom/talks/src/OpdaviesTalksServiceProvider.php @@ -12,7 +12,7 @@ use Symfony\Component\Finder\Finder; final class OpdaviesTalksServiceProvider implements ServiceProviderInterface { public function register(ContainerBuilder $container): void { - foreach (['Repository', 'Service'] as $directory) { + foreach (['EventSubscriber', 'Repository', 'Service'] as $directory) { $files = Finder::create() ->in(__DIR__ . '/' . $directory) ->files() @@ -28,6 +28,9 @@ final class OpdaviesTalksServiceProvider implements ServiceProviderInterface { $definition = new Definition($class); $definition->setAutowired(TRUE); + if ($directory == 'EventSubscriber') { + $definition->addTag('event_subscriber'); + } $container->setDefinition($class, $definition); } }