comtrya_lib/steps/initializers/
mod.rs1mod command_found;
2pub use command_found::CommandFound;
3
4mod env_vars_set;
5mod file_exists;
6pub use env_vars_set::SetEnvVars;
7
8pub use file_exists::FileExists;
9
10#[allow(dead_code)]
11pub enum FlowControl {
12 Ensure(Box<dyn Initializer>),
13 SkipIf(Box<dyn Initializer>),
14}
15
16pub trait Initializer {
18 fn initialize(&self) -> anyhow::Result<bool>;
19}
20
21#[cfg(test)]
22pub(crate) mod test {
23 use super::Initializer;
24 use anyhow::anyhow;
25
26 #[derive(Clone, Debug)]
27 pub struct Echo(pub bool);
28
29 impl Initializer for Echo {
30 fn initialize(&self) -> anyhow::Result<bool> {
31 Ok(self.0)
32 }
33 }
34
35 #[derive(Clone, Debug)]
36 pub struct Error();
37
38 impl Initializer for Error {
39 fn initialize(&self) -> anyhow::Result<bool> {
40 Err(anyhow!("ErrorInitializer"))
41 }
42 }
43}