Source: factory.core/ObjDecisionRuleset.py
Priority-ordered rule engine.
Rules fire sequentially by priority number.
First match wins. Multiple conditions at the
same priority + rule name are ANDed together.
| Method | Signature | Description |
|---|---|---|
| read | read(ruleset_name: str, version: int | None = None) -> None |
Load a ruleset and its rules. |
| is_valid_float | is_valid_float(value) -> bool |
Check if value is numeric. |
| evaluate | evaluate(value1: str | int | float, operator: str, value2: str | int | float) -> bool |
Evaluate a single condition. |
| get_matched_value | get_matched_value(context: dict, field: str, run_context: dict | None = None) -> Any |
Resolve a field value from context. |
| compute_ruleset | compute_ruleset(context: dict, run_context: dict | None = None) -> dict |
Evaluate all rules and return first match. |
| load_csv | load_csv(file_path: str, ruleset_name: str, three_words: str = '', changed_by: str = '') -> int |
Import rules from CSV as a new version. |
| simulate | simulate(ruleset_name: str, limit: int = 0) -> None |
Batch-run the ruleset against all rows |
| send_email | send_email(ruleset_name: str, recipients: str = '', version: int | None = None) -> None |
Send a ruleset report email with rules |
| save_csv | save_csv(file_path: str) -> None |
Export current rules to CSV. |
List all rulesets for the package.
Evaluate a ruleset against a JSON context.
Import rules from CSV.
Export rules to CSV.
Run a ruleset simulation.
Set the DataTable for a ruleset.
Send a ruleset report email.