Skip to main content

INITIALISERS

Static INITIALISERS 

Source
pub static INITIALISERS: DistributedSlice<[fn() -> Box<dyn Initialiser>]>
Expand description

Link-time registry of initialiser factories.

use rtb_app::app::App;
use rtb_app::linkme::distributed_slice;
use rtb_cli::init::{Initialiser, INITIALISERS};

struct MyInitialiser;

#[async_trait::async_trait]
impl Initialiser for MyInitialiser {
    fn name(&self) -> &'static str {
        "my-initialiser"
    }

    async fn is_configured(&self, _app: &App) -> bool {
        false
    }

    async fn configure(&self, _app: &App) -> miette::Result<()> {
        Ok(())
    }
}

#[distributed_slice(INITIALISERS)]
fn register() -> Box<dyn Initialiser> { Box::new(MyInitialiser) }