aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/src/package.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/mozart/src/package.rs')
-rw-r--r--crates/mozart/src/package.rs16
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)]