ash v1.25.4 Ash.Notifier.PubSub.Publish View Source
Link to this section Summary
Functions
Configure a given action to publish its results over a given topic.
Link to this section Functions
Configure a given action to publish its results over a given topic.
If you have multiple actions with the same name (only possible if they have different types),
use the type
option, to specify which type you are referring to. Otherwise the message will
be broadcast for all actions with that name.
To include attribute values of the resource in the message, pass a list
of strings and attribute names. They will ultimately be joined with :
.
For example:
prefix "user"
publish :create, ["created", :user_id]
publish :update, ["updated:{user_id}"]
This might publish a message to "user:created:1"" for example.
For updates, if the field in the template is being changed, a message is sent
to both values. So if you change user 1
to user 2
, the same message would
be published to user:updated:1
and user:updated:2
. If there are multiple
attributes in the template, and they are all being changed, a message is sent for
every combination of substitutions.
Examples
publish :create, "created"
publish :assign, "assigned", type: :create
Arguments
:action
- The name of the action that should be published:topic
- The topic to publish
Options
:event
- The name of the event to publish. Defaults to the action name:type
- In the case of multiple actions with the same name, you may need to provide the action type as well.