use crate::metadata::Metadata;
use super::{file_handler::FileHandler, File, Result};
impl File for Metadata {
fn write_file(&self, path: &std::path::Path) -> Result<()> {
FileHandler::write_file(self, path)
}
fn from_file(path: &std::path::Path) -> Result<Self> {
let path = if path.is_file() {
path.to_path_buf()
} else {
path.join("manifest.toml")
}
.canonicalize()?;
let mut metadata: Metadata = FileHandler::read_file(&path)?;
metadata.update_directory(path);
metadata.update_ids();
Ok(metadata)
}
}