ayun_runtime/
instance.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use crate::{config, Runtime};
use ayun_config::traits::ConfigurationTrait;
use ayun_core::{
    errors::ContainerError,
    traits::{ErrorTrait, InstanceTrait},
    Container, Error, Result,
};

impl InstanceTrait for Runtime {
    fn register(container: &Container) -> Result<Self, ContainerError>
    where
        Self: Sized,
    {
        let config = container
            .resolve::<ayun_config::Config>()?
            .get::<config::Runtime>("runtime")
            .map_err(Error::wrap)?;

        Ok(Self::try_from_config(config).map_err(Error::wrap)?)
    }
}