diff --git a/pttodoer/src/main.rs b/pttodoer/src/main.rs index 0c29fb1..73213c0 100644 --- a/pttodoer/src/main.rs +++ b/pttodoer/src/main.rs @@ -25,17 +25,22 @@ impl Task { } fn is_due_now(&self, now: TS) -> bool { - match self.get("schedule".to_string()) { - Some(v) => { - match When::new(v) { - Ok(when) => now.unix() <= when.next(self.ts()).unix(), - Err(_) => true, - } - }, + match self.when() { + Some(when) => now.unix() <= when.next(self.ts()).unix(), None => true, } } + fn when(&self) -> Option { + match self.get("schedule".to_string()) { + Some(v) => match When::new(v) { + Ok(when) => Some(when), + Err(_) => None, + }, + None => None, + } + } + fn ts(&self) -> TS { match self.get("ts".to_string()) { Some(v) => match TS::new(v) {