lib/message_store/message_handler.ex
defmodule MessageStore.MessageHandler do
@moduledoc """
A message handler boilerplate.
"""
defmacro __using__(_opts) do
quote do
@behaviour MessageStore.MessageHandlerBehaviour
alias EventStore.RecordedEvent
@before_compile unquote(__MODULE__)
end
end
defmacro __before_compile__(_env) do
quote do
# default handler
@impl true
def handle_message(_, _), do: {:ok, nil}
end
end
end