[][src]Struct miau::builder::ConfigurationBuilder

pub struct ConfigurationBuilder<'provider> { /* fields omitted */ }

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]

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]

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]

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]

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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.