more-config 3.0.0

Provides support for configuration
Documentation
use crate::{env, Builder};

/// Defines environment variable extension methods for a [configuration builder](Builder).
pub trait EnvVarsExt: Sized {
    /// Adds environment variables as a configuration source.
    fn add_env_vars(self) -> Self {
        self.add_env_vars_with_prefix("")
    }

    /// Adds environment variables as a configuration source.
    ///
    /// # Arguments
    ///
    /// * `prefix` - The prefix that environment variable names must start with. The prefix will be removed from
    ///   the environment variable names.
    fn add_env_vars_with_prefix<S: Into<String>>(self, prefix: S) -> Self;
}
impl EnvVarsExt for Builder {
    fn add_env_vars_with_prefix<S: Into<String>>(mut self, prefix: S) -> Self {
        self.add(env::Provider::new(prefix));
        self
    }
}