View Source Eventize.EventSourcedProcess.Initialization behaviour (eventize v0.1.1)

This module will handle initialization for a Eventize.EventSourcedProcess

Link to this section Summary

Callbacks

This callback can optionally be implimented to return the stream name that should be used when the events of this process is stored in the configured Eventize.Persistence.EventStore. The default implimentation will use the last part (seperate on ".") of the module name lowercased and add the id of the process.

A callback used when the process is starting up. This should return either a two item tuple where the first item is the initial behavior and the second is the initial state, a single item that is either the initial state, the initial state or nil.

Link to this section Callbacks

Link to this callback

get_stream_name(t)

View Source (optional)
@callback get_stream_name(String.t()) :: String.t()

This callback can optionally be implimented to return the stream name that should be used when the events of this process is stored in the configured Eventize.Persistence.EventStore. The default implimentation will use the last part (seperate on ".") of the module name lowercased and add the id of the process.

@callback start(id :: String.t()) :: {atom(), map()} | atom() | map() | nil

A callback used when the process is starting up. This should return either a two item tuple where the first item is the initial behavior and the second is the initial state, a single item that is either the initial state, the initial state or nil.