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