zero4rs 2.0.0

zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust
Documentation
pub mod redis_client;
pub mod with_fred;

pub use redis_client::*;
pub use with_fred::*;

#[derive(serde::Deserialize, Clone, Debug)]
pub struct RedisSettings {
    pub enable: Option<bool>,
    pub server: Option<String>,
}

impl Default for RedisSettings {
    fn default() -> Self {
        Self {
            enable: Some(false),
            server: Some("rediss://127.0.0.1:6379/0".to_string()),
        }
    }
}

impl RedisSettings {
    pub fn is_enable(&self) -> bool {
        if let Some(enable) = &self.enable {
            *enable
        } else {
            false
        }
    }

    pub fn connection_string(&self) -> String {
        self.server.clone().unwrap().to_string()
    }

    pub fn get(settings: &Option<RedisSettings>) -> Self {
        let _default = Self::default();

        if settings.is_some() {
            let mut s = settings.clone().unwrap();

            if s.enable.is_none() {
                s.enable = _default.enable;
            }

            if s.server.is_none() {
                s.server = _default.server;
            }

            s
        } else {
            _default
        }
    }
}