scripts/setup
#!/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'!"