pub struct Plan {
pub id: String,
pub command: String,
pub ctx: PlanCtx,
}Expand description
A struct that represents a plan for executing a command as part of a step.
Fields§
§id: String§command: String§ctx: PlanCtxImplementations§
Source§impl Plan
impl Plan
Sourcepub fn new<T>(command: impl Into<String>) -> Self
pub fn new<T>(command: impl Into<String>) -> Self
Examples found in repository?
examples/run.rs (line 14)
11 fn plan(&self, randomizer: &crazy_train::Randomizer) -> Result<crazy_train::step::Plan> {
12 let eco_string = randomizer.string(StringDef::default()).to_string();
13
14 Ok(Plan::new::<Self>(format!("echo {eco_string}")))
15 }
16
17 fn is_success(
18 &self,
19 execution_result: &crazy_train::executer::Output,
20 _plan_ctx: &PlanCtx,
21 ) -> Result<bool, &'static str> {
22 if execution_result.status_code == Some(0) {
23 Ok(true)
24 } else {
25 Err("status code should be 0")
26 }
27 }
28
29 fn to_yaml(&self) -> serde_yaml::Value {
30 serde_yaml::to_value(self).expect("serialize")
31 }
32}
33
34#[derive(Serialize, Deserialize)]
35struct StepTwo {}
36
37impl StepTrait for StepTwo {
38 fn plan(&self, randomizer: &crazy_train::Randomizer) -> Result<crazy_train::step::Plan> {
39 let eco_string = randomizer.string(StringDef::default()).to_string();
40
41 Ok(Plan::new::<Self>(format!("unknown-command {eco_string}")))
42 }pub fn with_vars<T>( command: impl Into<String>, vars: HashMap<String, String>, ) -> Self
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Plan
impl RefUnwindSafe for Plan
impl Send for Plan
impl Sync for Plan
impl Unpin for Plan
impl UnwindSafe for Plan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more