#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum Stability {
Dev,
Alpha,
Beta,
Rc,
Stable,
}
impl Stability {
pub fn parse(s: &str) -> Option<Self> {
match s.to_ascii_lowercase().as_str() {
"dev" => Some(Self::Dev),
"alpha" => Some(Self::Alpha),
"beta" => Some(Self::Beta),
"rc" => Some(Self::Rc),
"stable" => Some(Self::Stable),
_ => None,
}
}
pub fn as_str(self) -> &'static str {
match self {
Self::Dev => "dev",
Self::Alpha => "alpha",
Self::Beta => "beta",
Self::Rc => "RC",
Self::Stable => "stable",
}
}
}