From 3783b6ace86957c95e5137c7645af319dd2462e9 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 28 Mar 2021 17:13:27 +0300 Subject: feat: set version in Cargo.toml for Rust projects --- src/project.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/project.rs (limited to 'src/project.rs') diff --git a/src/project.rs b/src/project.rs new file mode 100644 index 0000000..7471c66 --- /dev/null +++ b/src/project.rs @@ -0,0 +1,26 @@ +use crate::errors::BumperError; +use crate::rust::Rust; +use std::path::Path; + +pub enum ProjectKind { + Rust(Rust), +} + +impl ProjectKind { + pub fn detect>(dirname: P) -> Result { + let dirname = dirname.as_ref(); + + if let Ok(p) = Rust::new(dirname) { + return Ok(Self::Rust(p)); + } + + Err(BumperError::UnknownProjectKind(dirname.to_path_buf())) + } + + pub fn set_version(&mut self, version: &str) -> Result<(), BumperError> { + match self { + Self::Rust(ref mut rust) => rust.set_version(version)?, + } + Ok(()) + } +} -- cgit v1.2.1