diff options
Diffstat (limited to 'crates/mozart/src/package.rs')
| -rw-r--r-- | crates/mozart/src/package.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/crates/mozart/src/package.rs b/crates/mozart/src/package.rs index e0e8c6c..e439ac5 100644 --- a/crates/mozart/src/package.rs +++ b/crates/mozart/src/package.rs @@ -17,6 +17,22 @@ pub enum Stability { Dev = 20, } +impl Stability { + /// Parse a stability string (case-insensitive) into a `Stability` value. + /// + /// Recognizes: "stable", "RC", "beta", "alpha", "dev". + /// Defaults to `Stability::Stable` for unrecognized values. + pub fn parse(s: &str) -> Self { + match s.to_lowercase().as_str() { + "dev" => Stability::Dev, + "alpha" => Stability::Alpha, + "beta" => Stability::Beta, + "rc" => Stability::RC, + _ => Stability::Stable, + } + } +} + /// A versioned relationship between two packages. /// Corresponds to `Composer\Package\Link`. #[derive(Debug, Clone)] |
