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 abort a Chaperon.Actionable
within a Chaperon.Session
and
returns the resulting Chaperon.Actionable
and Chaperon.Session
or a
Chaperon.Action.Error
.
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
.