diff options
Diffstat (limited to 'examples/static_env.rs')
-rw-r--r-- | examples/static_env.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/examples/static_env.rs b/examples/static_env.rs new file mode 100644 index 0000000..ba3222f --- /dev/null +++ b/examples/static_env.rs @@ -0,0 +1,20 @@ +use config::Config; + +lazy_static::lazy_static! { + #[derive(Debug)] + pub static ref CONFIG: Config = Config::builder() + .add_source(config::Environment::with_prefix("APP_NAME").separator("_")) + .build() + .unwrap(); +} + +/// Get a configuration value from the static configuration object +pub fn get<'a, T: serde::Deserialize<'a>>(key: &str) -> T { + // You shouldn't probably do it like that and actually handle that error that might happen + // here, but for the sake of simplicity, we do it like this here + CONFIG.get::<T>(key).unwrap() +} + +fn main() { + println!("{:?}", get::<String>("foo")); +} |