chiral_common/app/
env_var.rs

1//! Environmental Variables
2//! 
3
4pub enum Variable {
5    GromacsWorkDir
6}
7
8impl Variable {
9    pub fn as_str(&self) -> &str {
10        match self {
11            Variable::GromacsWorkDir => "GROMACS_WORK_DIR",
12        }
13    }
14
15    pub fn get(&self) -> String {
16        match std::env::var_os(self.as_str()) {
17            Some(s) => {
18                s.to_str().unwrap().to_owned()
19            }
20            None => panic!("Environment variable {} not set", self.as_str())
21        }
22    }
23
24    pub fn set(&self, v: &str) {
25        std::env::set_var(self.as_str(), v);
26    }
27}