ex_state v0.2.0 ExState.Ecto.Multi View Source

ExState.Ecto.Multi provides convencience functions for creating and transitioning workflows in Ecto.Multi operations.

Example

def create_sale() do Multi.new() |> Multi.create(:sale, Sale.new()) |> ExState.Ecto.Multi.create(:sale) |> ExState.Ecto.Multi.transition(:sale, :packed) |> Repo.transaction() end

Link to this section Summary

Link to this section Functions

Link to this function

complete(multi, subject_or_key, step_id, opts \\ [])

View Source
complete(Ecto.Multi.t(), struct() | atom(), any(), keyword()) :: Ecto.Multi.t()
Link to this function

create(multi, subject_key)

View Source
create(Ecto.Multi.t(), struct() | atom()) :: Ecto.Multi.t()
Link to this function

decision(multi, subject_or_key, step_id, decision, opts \\ [])

View Source
decision(Ecto.Multi.t(), struct() | atom(), any(), any(), keyword()) ::
  Ecto.Multi.t()
Link to this function

transition(multi, subject_or_key, event, opts \\ [])

View Source
transition(Ecto.Multi.t(), struct() | atom(), any(), keyword()) ::
  Ecto.Multi.t()