reify 0.5.8

Write configuration files from templates using env variables
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use config::{Config, File, FileFormat};
use crate::conf::model::ReifyConfig;
use crate::system::FileSystem;
pub struct ConfigLoader;

impl ConfigLoader {
    pub fn parse_config<S: FileSystem>(cfg_path: &str) -> anyhow::Result<ReifyConfig> {
        let content = S::read_string(cfg_path)?;
        let cfg = Config::builder()
            .add_source(File::from_str(&content, FileFormat::Toml))
            .build()?;
        let parsed = cfg.try_deserialize()?;
        Ok(parsed)
    }
}