use crate::prelude::*;
use std::{ path::PathBuf, fs };
#[derive(Debug, Clone)]
pub struct Readme {
pub value: String,
}
impl Readme {
pub fn new(title: &str, descr: &str) -> Self {
Self {
value: format!("# {title}\n## {descr}"),
}
}
pub fn add_line(&mut self, text: &str) {
self.value.push_str("\n\n");
self.value.push_str(text);
}
pub fn write_to<P>(&self, dir: P) -> Result<()>
where P: Into<PathBuf> {
let dir = dir.into();
let path = dir.join("README.md");
Ok(fs::write(path, &self.value).map_err(Error::from)?)
}
}