use crate::posts::abstractions::post::Post; use std::{borrow::Cow, fs, path::PathBuf}; #[derive(Debug)] pub struct FsPost { file: PathBuf, } impl FsPost { pub fn with_path(path: PathBuf) -> Self { Self { file: path } } } impl Post for FsPost { fn get_title(&self) -> &str { self.file.file_name().unwrap().to_str().unwrap() } fn get_article(&self) -> Cow { let article = fs::read_to_string(&self.file).unwrap(); Cow::Owned(article) } }