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}