View Source WorkflowMetal.Utils.ETS (workflow_metal v0.2.1)
Some ETS helpers.
Link to this section Summary
Functions
Make an :and
condition from conditions.
Make the condition.
Make an :or
condition from conditions.
Link to this section Types
Specs
condition() :: tuple()
Link to this section Functions
Specs
Make an :and
condition from conditions.
example
Example:
iex> WorkflowMetal.Utils.ETS.make_and([])
nil
iex> WorkflowMetal.Utils.ETS.make_and([{:"=:=", :"$1", 1}])
{:"=:=", :"$1", 1}
iex> WorkflowMetal.Utils.ETS.make_and([{:"=:=", :"$1", 1}, {:"=:=", :"$1", 2}])
{:andalso, {:"=:=", :"$1", 1}, {:"=:=", :"$1", 2}}
Specs
Make the condition.
example
Example:
in
:in
iex> WorkflowMetal.Utils.ETS.make_condition(nil, :"$1", :in)
nil
iex> WorkflowMetal.Utils.ETS.make_condition([], :"$1", :in)
nil
iex> WorkflowMetal.Utils.ETS.make_condition([1], :"$1", :in)
{:"=:=", :"$1", 1}
iex> WorkflowMetal.Utils.ETS.make_condition([1, 2], :"$1", :in)
{:orelse, {:"=:=", :"$1", 1}, {:"=:=", :"$1", 2}}
iex> WorkflowMetal.Utils.ETS.make_condition([1, 2, 3], :"$1", :in)
{:orelse, {:orelse, {:"=:=", :"$1", 1}, {:"=:=", :"$1", 2}}, {:"=:=", :"$1", 3}}
:"=:="
iex> WorkflowMetal.Utils.ETS.make_condition(1, :"$1", :"=:=")
{:"=:=", :"$1", 1}
Specs
Make an :or
condition from conditions.
example
Example:
iex> WorkflowMetal.Utils.ETS.make_or([])
nil
iex> WorkflowMetal.Utils.ETS.make_or([{:"=:=", :"$1", 1}])
{:"=:=", :"$1", 1}
iex> WorkflowMetal.Utils.ETS.make_or([{:"=:=", :"$1", 1}, {:"=:=", :"$1", 2}])
{:orelse, {:"=:=", :"$1", 1}, {:"=:=", :"$1", 2}}