summaryrefslogtreecommitdiff
path: root/src/rust.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rust.rs')
-rw-r--r--src/rust.rs47
1 files changed, 31 insertions, 16 deletions
diff --git a/src/rust.rs b/src/rust.rs
index 192c387..848422c 100644
--- a/src/rust.rs
+++ b/src/rust.rs
@@ -29,8 +29,8 @@ impl Rust {
info!(
"Rust project {}, in {}, version set to {}",
+ self.cargo_toml.name()?,
self.dirname.display(),
- "xxx",
version
);
Ok(())
@@ -53,6 +53,36 @@ impl CargoToml {
})
}
+ fn get_package_table(&mut self) -> Result<&mut toml_edit::Table, BumperError> {
+ let package = self
+ .manifest
+ .get_table(&["package".to_string()])
+ .map_err(BumperError::NoPackage)?;
+ if let Some(table) = package.as_table_mut() {
+ Ok(table)
+ } else {
+ Err(BumperError::ProjectNotTable)
+ }
+ }
+
+ fn name(&mut self) -> Result<String, BumperError> {
+ let package = self.get_package_table()?;
+ let v = package.entry("name");
+ if let Some(name) = v.as_str() {
+ Ok(name.to_string())
+ } else {
+ Err(BumperError::UnnamedProject)
+ }
+ }
+
+ fn set_version(&mut self, version: &str) -> Result<(), BumperError> {
+ let package = self.get_package_table()?;
+ debug!("setting Cargo.toml set version to {} in memory", version);
+ let v = package.entry("version");
+ *v = Item::Value(Value::from(version));
+ Ok(())
+ }
+
fn write(&self) -> Result<(), BumperError> {
debug!("saving Cargo.toml to {}", self.dirname.display());
let mut file = Manifest::find_file(&Some(self.dirname.to_path_buf()))
@@ -62,19 +92,4 @@ impl CargoToml {
.map_err(|err| BumperError::WriteToml(self.dirname.to_path_buf(), err))?;
Ok(())
}
-
- fn set_version(&mut self, version: &str) -> Result<(), BumperError> {
- let package = self
- .manifest
- .get_table(&["package".to_string()])
- .map_err(BumperError::NoPackage)?;
- if let Some(package) = package.as_table_mut() {
- debug!("setting Cargo.toml set version to {} in memory", version);
- let v = package.entry("version");
- *v = Item::Value(Value::from(version));
- } else {
- return Err(BumperError::ProjectNotTable);
- }
- Ok(())
- }
}