ferrflow 7.10.3

Universal semantic versioning for monorepos and classic repos
Documentation
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum HookPoint {
    PreBump,
    PostBump,
    PreCommit,
    PostCommit,
    PreTag,
    PostTag,
    PrePublish,
    PostPublish,
    PreRelease,
    OnSuccess,
    OnError,
}

impl HookPoint {
    pub fn label(self) -> &'static str {
        match self {
            Self::PreBump => "pre_bump",
            Self::PostBump => "post_bump",
            Self::PreCommit => "pre_commit",
            Self::PostCommit => "post_commit",
            Self::PreTag => "pre_tag",
            Self::PostTag => "post_tag",
            Self::PrePublish => "pre_publish",
            Self::PostPublish => "post_publish",
            Self::PreRelease => "pre_release",
            Self::OnSuccess => "on_success",
            Self::OnError => "on_error",
        }
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn hook_point_labels() {
        assert_eq!(HookPoint::PreBump.label(), "pre_bump");
        assert_eq!(HookPoint::PostBump.label(), "post_bump");
        assert_eq!(HookPoint::PreCommit.label(), "pre_commit");
        assert_eq!(HookPoint::PostCommit.label(), "post_commit");
        assert_eq!(HookPoint::PreTag.label(), "pre_tag");
        assert_eq!(HookPoint::PostTag.label(), "post_tag");
        assert_eq!(HookPoint::PrePublish.label(), "pre_publish");
        assert_eq!(HookPoint::PostPublish.label(), "post_publish");
        assert_eq!(HookPoint::PreRelease.label(), "pre_release");
        assert_eq!(HookPoint::OnSuccess.label(), "on_success");
        assert_eq!(HookPoint::OnError.label(), "on_error");
    }
}