Struct roadmap::Roadmap

source ·
pub struct Roadmap { /* private fields */ }
Expand description

Represent a full project roadmap.

This stores all the steps needed to reach the end goal. See the crate leve documentation for an example.

Implementations§

source§

impl Roadmap

source

pub fn new(map: HashMap<String, Step>) -> Self

Create a new, empty roadmap.

You probably want the from_yaml function instead.

source

pub fn count_goals(&self) -> usize

Count number of steps that nothing depends on.

source

pub fn step_names(&self) -> impl Iterator<Item = &str>

Iterate over step names.

source

pub fn get_step(&self, name: &str) -> Option<&Step>

Get a step, given its name.

source

pub fn add_step(&mut self, step: Step)

Add a step to the roadmap.

source

pub fn iter(&self) -> impl Iterator<Item = &Step>

source

pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Step>

source

pub fn set_missing_statuses(&mut self)

Compute status of any step for which it has not been specified in the input.

source

pub fn is_ready(&self, step: &Step) -> bool

Should unset status be ready? In other words, if there are any dependencies, they are all finished.

source

pub fn is_blocked(&self, step: &Step) -> bool

Should unset status be blocked? In other words, if there are any dependencies, that aren’t finished.

source

pub fn is_goal(&self, step: &Step) -> bool

Should status be goal? In other words, does any other step depend on this one?

source

pub fn validate(&self) -> RoadmapResult<()>

source

pub fn format_as_dot(&self, label_width: usize) -> RoadmapResult<String>

Get a Graphviz dot language representation of a roadmap. This is the textual representation, and the caller needs to use the Graphviz dot(1) tool to create an image from it.

Trait Implementations§

source§

impl Clone for Roadmap

source§

fn clone(&self) -> Roadmap

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Roadmap

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Roadmap

source§

fn default() -> Roadmap

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.