View Source Chaperon.Actionable protocol (chaperon v0.3.1)

Protocol implemented by all valid measurable actions that can be performed in a Chaperon.Session. All Actions implementing this protocol are found within the Chaperon.Action module.

Link to this section Summary

Functions

Attempts to run a Chaperon.Actionable within a Chaperon.Session and returns the resulting session or a Chaperon.Action.Error.

Link to this section Types

@type abort_result() :: {:ok, t(), Chaperon.Session.t()} | error()
@type error() ::
  {:error, Chaperon.Action.Error.t()}
  | {:error, Chaperon.Session.Error.t()}
  | {:error, any()}
@type result() :: {:ok, Chaperon.Session.t()} | error()
@type t() :: term()

Link to this section Functions

@spec abort(t(), Chaperon.Session.t()) :: abort_result()

Attempts to abort a Chaperon.Actionable within a Chaperon.Session and returns the resulting Chaperon.Actionable and Chaperon.Session or a Chaperon.Action.Error.

@spec run(t(), Chaperon.Session.t()) :: result()

Attempts to run a Chaperon.Actionable within a Chaperon.Session and returns the resulting session or a Chaperon.Action.Error.