outbox_pattern_processor/
environment.rs

1use std::env;
2
3pub struct Environment;
4
5impl Environment {
6    pub fn string(
7        env_name: &str,
8        default: &str,
9    ) -> String {
10        env::var(env_name).ok().unwrap_or(default.to_string())
11    }
12
13    pub fn u16(
14        env_name: &str,
15        default: u16,
16    ) -> u16 {
17        env::var(env_name).ok().map(|env| env.parse::<u16>().expect("Failed to parse to u16")).unwrap_or(default)
18    }
19
20    pub fn u32(
21        env_name: &str,
22        default: u32,
23    ) -> u32 {
24        env::var(env_name).ok().map(|env| env.parse::<u32>().expect("Failed to parse to u32")).unwrap_or(default)
25    }
26
27    pub fn i32(
28        env_name: &str,
29        default: i32,
30    ) -> i32 {
31        env::var(env_name).ok().map(|env| env.parse::<i32>().expect("Failed to parse to i32")).unwrap_or(default)
32    }
33
34    pub fn u64(
35        env_name: &str,
36        default: u64,
37    ) -> u64 {
38        env::var(env_name).ok().map(|env| env.parse::<u64>().expect("Failed to parse to u64")).unwrap_or(default)
39    }
40
41    pub fn boolean(
42        env_name: &str,
43        default: bool,
44    ) -> bool {
45        env::var(env_name).ok().map(|env| env.parse::<bool>().expect("Failed to parse to bool")).unwrap_or(default)
46    }
47}