pub struct EnvironmentBuilder { /* private fields */ }Expand description
Environment builder The EnvironmentBuilder is used to create an environment with the current environment and contexts.
Implementations§
Source§impl EnvironmentBuilder
EnvironmentBuilder implementation
Create a new EnvironmentBuilder with the current environment and contexts.
impl EnvironmentBuilder
EnvironmentBuilder implementation Create a new EnvironmentBuilder with the current environment and contexts.
§Example
use env_type::types::EnvType;
use std::str::FromStr;
use std::collections::HashMap;
use env_type::environment::EnvironmentBuilder;
use env_type::context::{ContextBuilder, ContextMarker};
struct TestContext;
impl ContextMarker for TestContext {
type Value = String;
}
struct TestConfig;
impl From<TestConfig> for EnvType {
fn from(_: TestConfig) -> Self {
EnvType::Dev
}
}
let context = ContextBuilder::<TestContext>::default()
.with_value(EnvType::Dev, "dev".to_string())
.with_value(EnvType::Test, "test".to_string())
.with_default("default".to_string())
.build();
let env = EnvironmentBuilder::default()
.current_from(TestConfig)
.with_context(context)
.build();
assert!(env.is_ok());
let env = env.unwrap();
assert_eq!(EnvType::Dev, *env.current_env());
assert_eq!(Some("dev".to_string()), env.current_value::<TestContext>());pub fn current_env(self, env: EnvType) -> Self
pub fn current_from<T>(self, config: T) -> Self
pub fn with_context<M: ContextMarker>(self, context: Context<M>) -> Self
pub fn build(self) -> Result<Environment, EnvError>
Trait Implementations§
Source§impl Default for EnvironmentBuilder
impl Default for EnvironmentBuilder
Source§fn default() -> EnvironmentBuilder
fn default() -> EnvironmentBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for EnvironmentBuilder
impl !RefUnwindSafe for EnvironmentBuilder
impl Send for EnvironmentBuilder
impl Sync for EnvironmentBuilder
impl Unpin for EnvironmentBuilder
impl !UnwindSafe for EnvironmentBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more