deschuler 0.4.1

An async, tokio based scheduling library for rust with a built-in cron builder.
Documentation
use chrono::{DateTime, FixedOffset, Offset, TimeZone, Utc};
use chrono_tz::Tz;
use derive_builder::Builder;

use crate::util::date_time::get_now_naive;

#[derive(Debug, Clone, PartialEq, Eq, Builder)]
pub struct BuilderConfig {
    pub timezone: FixedOffset,
    pub use_utc: bool,
}

impl BuilderConfig {
    pub fn get_now(&self) -> DateTime<FixedOffset> {
        let now = get_now_naive(self.use_utc);

        DateTime::from_naive_utc_and_offset(now, self.timezone)
    }
}

impl Default for BuilderConfig {
    fn default() -> Self {
        let offset = Tz::UTC.offset_from_utc_datetime(&Utc::now().naive_utc()).fix();
        let use_utc = true;
        Self {
            timezone: offset,
            use_utc,
        }
    }
}