#!/usr/bin/env bash

enforce_root () {
    if [ "${UID}" != "0" ]; then
        abort 1 "${__SCRIPT} must be ran as root"
    fi
}

info () {
    echo -e "\033[32m$1\033[0m"
}

error () {
    echo -e "\033[31m$1\033[0m"
}

warning () {
    echo -e "\033[33m$1\033[0m"
}

abort () {
	error "$2"
	exit $1
}

prompt () {
    __var=""
    read -p "$1 " __var
    echo "${__var}"
}

prompt_yes_no () {
    __answer=""
    while [ "${__answer}" != "yes" ] && [ "${__answer}" != "no" ]; do
        __answer="`prompt "$1 (yes/no)"`"
    done

    echo "${__answer}"
}

getos () {
    if [ -f /etc/os-release ]; then
        . /etc/os-release
        echo "${NAME}"
    elif type lsb_release > /dev/null 2>&1; then
        echo "`lsb_release -si`"
    elif [ -f /etc/lsb-release ]; then
        . /etc/lsb-release
        echo "${DISTRIB_ID}"
    elif [ -f /etc/debian_version ]; then
        echo "Debian"
    elif [ -f /etc/redhat-release ]; then
        if grep -q 'CentOS' /etc/redhat-release; then
            echo "CentOS"
        else
            echo "Redhat"
        fi
    else
        echo "`uname -s`"
    fi
}