From 3ded40d04f49983e7907366536dbc94917cee666 Mon Sep 17 00:00:00 2001 From: Akshay Date: Tue, 14 Jul 2020 17:20:36 +0530 Subject: more boilerplate for auto-trackable habits add funding.yml also :^) --- src/habit/bit.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/habit/bit.rs') diff --git a/src/habit/bit.rs b/src/habit/bit.rs index 292b96a..3386182 100644 --- a/src/habit/bit.rs +++ b/src/habit/bit.rs @@ -3,6 +3,7 @@ use std::collections::HashMap; use chrono::NaiveDate; use serde::{Deserialize, Serialize}; +use crate::habit::prelude::default_auto; use crate::habit::traits::Habit; use crate::habit::{TrackEvent, ViewMode}; use crate::CONFIGURATION; @@ -37,6 +38,9 @@ pub struct Bit { stats: HashMap, goal: CustomBool, + #[serde(default = "default_auto")] + auto: bool, + #[serde(skip)] view_month_offset: u32, @@ -45,11 +49,12 @@ pub struct Bit { } impl Bit { - pub fn new(name: impl AsRef) -> Self { + pub fn new(name: impl AsRef, auto: bool) -> Self { return Bit { name: name.as_ref().to_owned(), stats: HashMap::new(), goal: CustomBool(true), + auto, view_month_offset: 0, view_mode: ViewMode::Day, }; @@ -114,4 +119,7 @@ impl Habit for Bit { fn view_mode(&self) -> ViewMode { self.view_mode } + fn is_auto(&self) -> bool { + self.auto + } } -- cgit v1.2.3