releasor 1.0.0

Command Line Tools for macOS to automate creating tar.gz files
Documentation
use std::process::{Command, Output};

pub struct OutputCommand;

impl OutputCommand {
    fn run(
        cmd: &str, 
        args: &[&str], 
        error: &str
    ) -> Output {
        Command::new(cmd)
            .args(args)
            .output()
            .expect(error)
    }

    pub fn cargo_release_output() -> Output {
        Self::run(
            "cargo", 
            &["build", "--release"], 
            "Failed to execute cargo build"
        )
    }

    pub fn tar_output(
        project_tar_gz: &str, 
        project_name: &str
    ) -> Output {
        Self::run(
            "tar",
            &["-cvzf", project_tar_gz, "-C", "target/release", project_name],
            "Failed to create tar.gz",
        )
    }

    pub fn get_shasum_output(
        project_tar_gz: &str
    ) -> Output {
        Self::run(
            "shasum", 
            &["-a", "256", project_tar_gz],
            "Failed to execute shasum"
        )
    }
}