pub struct RuleEngine { /* private fields */ }Expand description
The rule engine: evaluates rules against messages.
Implementations§
Source§impl RuleEngine
impl RuleEngine
pub fn new(rules: Vec<Rule>) -> Self
pub fn rules(&self) -> &[Rule]
Sourcepub fn evaluate(
&self,
msg: &dyn MessageView,
message_id: &str,
) -> EvaluationResult
pub fn evaluate( &self, msg: &dyn MessageView, message_id: &str, ) -> EvaluationResult
Evaluate all enabled rules against a message. Returns accumulated actions. Actions are NOT applied yet — the caller is responsible for executing them.
Sourcepub fn evaluate_batch(
&self,
messages: &[(&dyn MessageView, &str)],
) -> Vec<EvaluationResult>
pub fn evaluate_batch( &self, messages: &[(&dyn MessageView, &str)], ) -> Vec<EvaluationResult>
Evaluate all enabled rules against a batch of messages.
Sourcepub fn dry_run(
&self,
rule_id: &RuleId,
messages: &[(&dyn MessageView, &str, &str, &str)],
) -> Option<DryRunResult>
pub fn dry_run( &self, rule_id: &RuleId, messages: &[(&dyn MessageView, &str, &str, &str)], ) -> Option<DryRunResult>
Dry-run: evaluate a specific rule against messages without applying actions.
Auto Trait Implementations§
impl Freeze for RuleEngine
impl RefUnwindSafe for RuleEngine
impl Send for RuleEngine
impl Sync for RuleEngine
impl Unpin for RuleEngine
impl UnsafeUnpin for RuleEngine
impl UnwindSafe for RuleEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more