From c7919ce0610b0111fec250398e4cf968a07dba8f Mon Sep 17 00:00:00 2001 From: benjamin wil Date: Wed, 21 May 2025 09:20:38 -0700 Subject: [PATCH] Add docs for configurable event subscribers Paired with new feature merged in solidusio/solidus#6234. --- docs/customization/subscribing-to-events.mdx | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/customization/subscribing-to-events.mdx b/docs/customization/subscribing-to-events.mdx index d35499b..0fd9f1b 100644 --- a/docs/customization/subscribing-to-events.mdx +++ b/docs/customization/subscribing-to-events.mdx @@ -84,6 +84,29 @@ subscriptions. ::: +### Built-in event subscribers + +Solidus comes with built-in event subscribers for some event-driven functionality in the system. For +example, all transactional emails are initiated through event subscribers. + +When the `solidus_core` engine is loaded, all of the built-in event subscribers are loaded from +`Spree::Config.environment.subscribers`. If you wanted to exclude some of the built-in subscribers +you could do so from an initializer in your application: + +```ruby +# config/initializers/spree.rb + +Spree.config do |config| + config.environment.subscribers = [ + "Spree::OrderCancelMailerSubscriber", + "Spree::OrderConfirmationMailerSubscriber", + "Spree::OrderInventoryCancellationMailerSubscriber" + ] +end +``` + +See `Spree::AppConfiguration` for an up-to-date list of Solidus' built-in subscribers. + ### Custom events You're free to register your custom events into `Spree::Bus`. However, it's a good practice if you