pub struct RuleContext {
pub adjustment: i64,
pub madhab: Madhab,
pub daud_strategy: DaudStrategy,
pub strict: bool,
pub visibility_criteria: VisibilityCriteria,
pub custom_rules: Vec<Box<dyn CustomFastingRule>>,
pub sunset_provider: Box<dyn SunsetProvider>,
}Expand description
Rule engine configuration.
Fields§
§adjustment: i64Hijri day offset. Clamped to [-30, 30].
madhab: Madhab§daud_strategy: DaudStrategy§strict: bool§visibility_criteria: VisibilityCriteriaMoon visibility criteria for hilal observation.
custom_rules: Vec<Box<dyn CustomFastingRule>>§sunset_provider: Box<dyn SunsetProvider>Implementations§
Source§impl RuleContext
impl RuleContext
pub fn new() -> Self
pub fn adjustment(self, adjustment: i64) -> Self
pub fn madhab(self, madhab: Madhab) -> Self
pub fn daud_strategy(self, strategy: DaudStrategy) -> Self
pub fn strict(self, strict: bool) -> Self
pub fn with_sunset_provider<P: SunsetProvider + 'static>( self, provider: P, ) -> Self
Sourcepub fn visibility_criteria(self, criteria: VisibilityCriteria) -> Self
pub fn visibility_criteria(self, criteria: VisibilityCriteria) -> Self
Sets moon visibility criteria.
Trait Implementations§
Source§impl Clone for RuleContext
impl Clone for RuleContext
Source§impl Debug for RuleContext
impl Debug for RuleContext
Source§impl Default for RuleContext
impl Default for RuleContext
Auto Trait Implementations§
impl Freeze for RuleContext
impl !RefUnwindSafe for RuleContext
impl Send for RuleContext
impl Sync for RuleContext
impl Unpin for RuleContext
impl !UnwindSafe for RuleContext
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