aboutsummaryrefslogtreecommitdiff
path: root/rif/src/recipe.rs
use crate::{Ingredient, Schema, Thread, Workstep};
use std::collections::BTreeSet;

/// A recipe with instructions to execute
pub struct Recipe {
    schema: Schema,
    metadata: Metadata,
    threads: BTreeSet<Thread>,
}

impl Recipe {
    /// Create a new recipe from a schema, with a name and version
    pub fn new(schema: Schema, name: String, version: String) -> Self {
        Self {
            schema,
            metadata: Metadata { name, version },
            threads: Default::default(),
        }
    }
}

pub struct Metadata {
    pub name: String,
    pub version: String,
}