use std::error::Error;
use std::fs::create_dir_all;
use std::path::Path;
use crate::utils;
pub trait PrepDestinationStratTrait {
fn prep(&self, destination: &Path) -> Result<(), Box<dyn Error>>;
}
pub struct CreateParentDirStrat {}
impl PrepDestinationStratTrait for CreateParentDirStrat {
fn prep(&self, destination: &Path) -> Result<(), Box<dyn Error>> {
create_dir_all(utils::get_parent(destination))?;
Ok(())
}
}