confgr 0.2.1

A simple rust application configuration derive macro.
Documentation
use confgr::prelude::*;

mod common;

#[derive(Config, Default)]
#[config(prefix = "NESTED")]
struct Nested {
    #[config(prefix = "inner_override")]
    name: String,
    detail: String,
}

#[derive(Config, Default)]
#[config(prefix = "TEST")]
struct NestedTest {
    id: i32,
    #[config(nest)]
    nested: Nested,
}

#[test]
fn test_nested() {
    std::env::set_var("TEST_ID", "10");
    std::env::set_var("NESTED_DETAIL", "NestedDetail");
    std::env::set_var("INNER_OVERRIDE_NAME", "Inner");

    let config = NestedTest::load_config();

    assert_eq!(
        config.id,
        common::get_var("TEST_ID").parse::<i32>().unwrap()
    );
    assert_eq!(config.nested.detail, common::get_var("NESTED_DETAIL"));
    assert_eq!(config.nested.name, common::get_var("INNER_OVERRIDE_NAME"));
}