cargo-pipe 0.1.18

A command-line tool to generate and build data integration app using pipebase framework
use crate::{commands::remove::RemoveOptions, config::Config, errors::CmdResult, print::Printer};
use std::fs;
use std::path::PathBuf;

pub fn do_remove(path_buf: PathBuf, printer: &mut Printer) -> CmdResult<()> {
    let path = path_buf.as_path();
    printer.status(&"Remove", path.to_str().unwrap())?;
    match path.exists() {
        true => fs::remove_dir_all(path)?,
        false => (),
    };
    printer.status(&"Remove", "success")?;
    Ok(())
}

pub fn do_exec(config: &Config, opts: &RemoveOptions) -> CmdResult<()> {
    let mut printer = Printer::new();
    do_remove(config.get_app_directory(opts.get_app_name()), &mut printer)
}