LemonGateway.Renderer behaviour (lemon_gateway v0.1.0)

View Source

Behaviour for rendering engine events into user-facing text.

Renderers transform engine lifecycle events (started, action, completed) into formatted text suitable for display in transport channels.

Summary

Types

render_out()

@type render_out() :: %{
  text: String.t(),
  status: :running | :done | :error | :cancelled
}

state()

@type state() :: term()

Callbacks

apply_event(state, term)

@callback apply_event(state(), term()) :: {state(), :unchanged | {:render, render_out()}}

init(job_meta)

@callback init(job_meta :: map()) :: state()