pub struct RulesEngine { /* private fields */ }Expand description
Rules engine for transaction categorization.
Evaluates rules in priority order (highest first). First match wins. Supports loading rules from user config, merchant dictionary, or both.
Implementations§
Source§impl RulesEngine
impl RulesEngine
Sourcepub fn add_rule(&mut self, rule: Rule)
pub fn add_rule(&mut self, rule: Rule)
Add a single rule.
Rules are kept sorted by priority (descending) after each insertion.
Sourcepub fn load_from_mappings(&mut self, mappings: &[(String, String)])
pub fn load_from_mappings(&mut self, mappings: &[(String, String)])
Load rules from substring-based mappings (existing importers.toml format).
All patterns are lowercased. Priority is set to 0 (user rules).
Sourcepub fn load_from_regex_mappings(&mut self, mappings: &[(String, String)])
pub fn load_from_regex_mappings(&mut self, mappings: &[(String, String)])
Load rules from regex-based mappings.
Patterns that fail to compile are silently skipped. Priority is set to 0 (user rules).
Sourcepub fn load_merchant_dict(&mut self)
pub fn load_merchant_dict(&mut self)
Load the built-in merchant dictionary as low-priority rules.
Trait Implementations§
Source§impl Debug for RulesEngine
impl Debug for RulesEngine
Auto Trait Implementations§
impl Freeze for RulesEngine
impl RefUnwindSafe for RulesEngine
impl Send for RulesEngine
impl Sync for RulesEngine
impl Unpin for RulesEngine
impl UnsafeUnpin for RulesEngine
impl UnwindSafe for RulesEngine
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.