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())