ronin-rb/ronin-repos

View on GitHub
scripts/setup

Summary

Maintainability
Test Coverage
#!/usr/bin/env bash

#
# Prints a log message.
#
function log()
{
    if [[ -t 1 ]]; then
        echo -e "\x1b[1m\x1b[32m>>>\x1b[0m \x1b[1m$1\x1b[0m"
    else
        echo ">>> $1"
    fi
}

#
# Prints a warn message.
#
function warn()
{
    if [[ -t 1 ]]; then
        echo -e "\x1b[1m\x1b[33m***\x1b[0m \x1b[1m$1\x1b[0m" >&2
    else
        echo "*** $1" >&2
    fi
}

#
# Prints an error message.
#
function error()
{
    if [[ -t 1 ]]; then
        echo -e "\x1b[1m\x1b[31m!!!\x1b[0m \x1b[1m$1\x1b[0m" >&2
    else
        echo "!!! $1" >&2
    fi
}

#
# Prints an error message and exists with -1.
#
function fail()
{
    error "$@"
    exit -1
}

# default to installing gems into vendor/bundle
if [[ ! -f .bundle/config ]]; then
    bundle config set --local path vendor/bundle >/dev/null || \
      fail "Failed to run 'bundle config'"
fi

log "Installing gems ..."
bundle install || fail "Failed to run 'bundle install'!"

log "Setting up the project ..."
bundle exec rake setup || "Failed to run 'rake setup'!"