Add extension to check whether an Entry or a StoreId points to a habit instance/template
This commit is contained in:
parent
9af2f34b58
commit
b181b488a2
1 changed files with 40 additions and 0 deletions
|
@ -25,6 +25,9 @@ use error::Result;
|
||||||
use habit::HabitTemplate;
|
use habit::HabitTemplate;
|
||||||
use instance::HabitInstance;
|
use instance::HabitInstance;
|
||||||
|
|
||||||
|
use libimagstore::storeid::StoreId;
|
||||||
|
use libimagstore::store::Entry;
|
||||||
|
|
||||||
pub const NAIVE_DATE_STRING_FORMAT : &'static str = "%Y-%m-%d";
|
pub const NAIVE_DATE_STRING_FORMAT : &'static str = "%Y-%m-%d";
|
||||||
|
|
||||||
pub fn date_to_string(ndt: &NaiveDate) -> String {
|
pub fn date_to_string(ndt: &NaiveDate) -> String {
|
||||||
|
@ -50,3 +53,40 @@ impl<H> IsValidHabitObj for H
|
||||||
// Empty
|
// Empty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub trait IsHabitCheck {
|
||||||
|
fn is_habit(&self) -> bool;
|
||||||
|
fn is_habit_instance(&self) -> bool;
|
||||||
|
fn is_habit_template(&self) -> bool;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl IsHabitCheck for StoreId {
|
||||||
|
fn is_habit(&self) -> bool {
|
||||||
|
self.is_in_collection(&["habit"])
|
||||||
|
}
|
||||||
|
|
||||||
|
fn is_habit_instance(&self) -> bool {
|
||||||
|
self.is_in_collection(&["habit", "instance"])
|
||||||
|
}
|
||||||
|
|
||||||
|
fn is_habit_template(&self) -> bool {
|
||||||
|
self.is_in_collection(&["habit", "template"])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl IsHabitCheck for Entry {
|
||||||
|
/// Helper function to check whether an entry is a habit (either instance or template)
|
||||||
|
fn is_habit(&self) -> bool {
|
||||||
|
self.get_location().is_habit()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Check whether an entry is a habit instance
|
||||||
|
fn is_habit_instance(&self) -> bool {
|
||||||
|
self.get_location().is_habit_instance()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Check whether an entry is a habit template
|
||||||
|
fn is_habit_template(&self) -> bool {
|
||||||
|
self.get_location().is_habit_template()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue