Struct miau::builder::ConfigurationBuilder [−][src]
Synchronous configuration builder.
Owns all sources passed to it and is capable of creating Configuration object.
Implementations
impl<'provider> ConfigurationBuilder<'provider>
[src]
pub fn new() -> Self
[src]
Creates new builder.
This function is used in Default trait implementation.
use miau::builder::ConfigurationBuilder; let builder = ConfigurationBuilder::new();
pub fn add<S, D>(
&mut self,
source: S,
format: D
) -> &mut ConfigurationBuilder<'provider> where
S: Source + 'provider,
D: Format + 'provider,
[src]
&mut self,
source: S,
format: D
) -> &mut ConfigurationBuilder<'provider> where
S: Source + 'provider,
D: Format + 'provider,
Adds new source and format to builder.
It only accepts synchronous sources.
use miau::builder::ConfigurationBuilder; use miau::source::FileSource; use miau::format; let mut builder = ConfigurationBuilder::default(); builder.add(FileSource::from_path("./a/path/to/file.json"), format::json());
pub fn add_provider<P>(
&mut self,
provider: P
) -> &mut ConfigurationBuilder<'provider> where
P: Provider + 'provider,
[src]
&mut self,
provider: P
) -> &mut ConfigurationBuilder<'provider> where
P: Provider + 'provider,
Adds new provider to builder.
It only accepts synchronous providers.
use miau::builder::ConfigurationBuilder; use miau::provider::EnvironmentProvider; use miau::format; let mut builder = ConfigurationBuilder::default(); builder.add_provider(EnvironmentProvider::default());
pub fn add_async<S, D>(
self,
source: S,
format: D
) -> AsyncConfigurationBuilder<'provider> where
S: AsyncSource + Send + Sync + 'provider,
D: Format + Send + Sync + 'provider,
[src]
self,
source: S,
format: D
) -> AsyncConfigurationBuilder<'provider> where
S: AsyncSource + Send + Sync + 'provider,
D: Format + Send + Sync + 'provider,
Adds new source and format to builder.
Similar to add, but only accepts asynchronous providers. Operation is consuming, asynchronous version of builder is returned.
pub fn add_provider_async<P>(
self,
provider: P
) -> AsyncConfigurationBuilder<'provider> where
P: AsyncProvider + 'provider,
[src]
self,
provider: P
) -> AsyncConfigurationBuilder<'provider> where
P: AsyncProvider + 'provider,
Adds new provider to builder.
Similar to add_provider, but only accepts asynchronous providers. Operation is consuming, asynchronous version of builder is return
pub fn build(&mut self) -> Result<Configuration, ConfigurationError>
[src]
Builds the builder.
This is function that actually fetches data from all the sources and deserializes them.
use miau::builder::ConfigurationBuilder; use miau::source::FileSource; use miau::provider::EnvironmentProvider; use miau::format; use miau::configuration::Configuration; let mut builder = ConfigurationBuilder::default(); builder.add_provider(EnvironmentProvider::default()); builder.add(FileSource::from_path("./a/path/to/file.json"), format::json()); let configuration : Configuration = match builder.build() { Ok(cfg) => cfg, Err(e) => return };
Trait Implementations
impl<'provider> Default for ConfigurationBuilder<'provider>
[src]
Auto Trait Implementations
impl<'provider> !RefUnwindSafe for ConfigurationBuilder<'provider>
[src]
impl<'provider> !Send for ConfigurationBuilder<'provider>
[src]
impl<'provider> !Sync for ConfigurationBuilder<'provider>
[src]
impl<'provider> Unpin for ConfigurationBuilder<'provider>
[src]
impl<'provider> !UnwindSafe for ConfigurationBuilder<'provider>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,