diff options
Diffstat (limited to 'src/client/macros.rs')
| -rw-r--r-- | src/client/macros.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/client/macros.rs b/src/client/macros.rs index 6f03d59..a3730bd 100644 --- a/src/client/macros.rs +++ b/src/client/macros.rs @@ -226,14 +226,12 @@ macro_rules! impl_client_trait { macro_rules! config_get_fn { ($field_name:ident, $fn_name:ident) => { fn $fn_name(&self) -> anyhow::Result<String> { - let api_key = self.config.$field_name.clone(); - api_key - .or_else(|| { - let env_prefix = Self::name(&self.config); - let env_name = - format!("{}_{}", env_prefix, stringify!($field_name)).to_ascii_uppercase(); - std::env::var(&env_name).ok() - }) + let env_prefix = Self::name(&self.config); + let env_name = + format!("{}_{}", env_prefix, stringify!($field_name)).to_ascii_uppercase(); + std::env::var(&env_name) + .ok() + .or_else(|| self.config.$field_name.clone()) .ok_or_else(|| anyhow::anyhow!("Miss '{}'", stringify!($field_name))) } }; |
