View Source DSL: Ash.Notifier.PubSub
A pubsub notifier extension.
pub_sub
A section for configuring how resource actions are published over pubsub
See the PubSub and Notifiers guide for more.
Nested DSLs
Examples
pub_sub do
module MyEndpoint
prefix "post"
broadcast_type :phoenix_broadcast
publish :destroy, ["foo", :id]
publish :update, ["bar", :name] event: "name_change"
publish_all :create, "created"
end
Options
| Name | Type | Default | Docs | |
|---|---|---|---|---|
| module * |
atom
|
The module to call `broadcast/3` on e.g module.broadcast(topic, event, message). | ||
| prefix |
String.t
|
A prefix for all pubsub messages, e.g `users`. A message with `created` would be published as `users:created` | ||
| broadcast_type |
:notification | :phoenix_broadcast | :broadcast
|
:notification
|
What shape the event payloads will be in. See | |
| name |
atom
|
A named pub sub to pass as the first argument to broadcast. | ||
pub_sub.publish
publish action, topicConfigure a given action to publish its results over a given topic.
See the PubSub and Notifiers guides for more.
Examples
publish :create, "created"publish :assign, "assigned"
Arguments
| Name | Type | Default | Docs | |
|---|---|---|---|---|
| action * |
atom
|
The name of the action that should be published | ||
| topic * |
`any`
|
The topic to publish | ||
Options
| Name | Type | Default | Docs | |
|---|---|---|---|---|
| event |
String.t
|
The name of the event to publish. Defaults to the action name | ||
| dispatcher |
atom
|
The module to use as a dispatcher. If none is set, the pubsub module provided is used. | ||
Introspection
Target: Ash.Notifier.PubSub.Publication
pub_sub.publish_all
publish_all type, topicWorks just like publish, except that it takes a type
and publishes all actions of that type
See the PubSub and Notifiers guides for more.
Examples
publish_all :create, "created"Arguments
| Name | Type | Default | Docs | |
|---|---|---|---|---|
| type |
:create | :update | :destroy
|
Publish on all actions of a given type | ||
| topic * |
`any`
|
The topic to publish | ||
Options
| Name | Type | Default | Docs | |
|---|---|---|---|---|
| action |
atom
|
The name of the action that should be published | ||
| event |
String.t
|
The name of the event to publish. Defaults to the action name | ||
| dispatcher |
atom
|
The module to use as a dispatcher. If none is set, the pubsub module provided is used. | ||
Introspection
Target: Ash.Notifier.PubSub.Publication