Ruler.Engine (Ruler v0.1.0) View Source
Link to this section Summary
Link to this section Types
Specs
action() :: Ruler.Action.t()
Specs
activation() :: Ruler.Activation.t()
Specs
activation_event() :: Ruler.State.activation_event()
Specs
fact() :: Ruler.Fact.t()
Specs
Specs
log_event() ::
{:instruction, instruction()}
| {:add_fact_source, fact(), Ruler.State.FactInfo.source()}
| {:remove_fact_source, fact(), Ruler.State.FactInfo.source()}
| {:fact_was_added, fact()}
| {:fact_was_removed, fact()}
| {:activation_event, activation_event()}
Specs
rule() :: Ruler.Rule.t()
Specs
state() :: Ruler.State.t()
Specs
t() :: %Ruler.Engine{
instruction_queue: :queue.queue(instruction()),
log: [log_event()],
state: state()
}
Link to this section Functions
Specs
Specs
add_instruction(t(), instruction()) :: t()
Specs
add_instructions(t(), [instruction()]) :: t()
Specs
Specs
Specs
choose_from_conflict_set(t()) :: activation_event() | nil
Specs
commit_activation_event(t(), activation_event()) :: t()
Specs
Specs
new() :: t()
Specs
process_activation_event(t(), activation_event()) :: t()
Specs
process_instruction(t(), instruction()) :: t()
Specs
Specs
query(t(), [Ruler.Clause.t()]) :: MapSet.t(Ruler.Activation.t())