Skip to content

Instantly share code, notes, and snippets.

@hashrocketeer
Last active December 11, 2015 10:58
Show Gist options
  • Save hashrocketeer/4590196 to your computer and use it in GitHub Desktop.
Save hashrocketeer/4590196 to your computer and use it in GitHub Desktop.
Drop at script/setup to keep everyone up to date, dependency-wise.
#!/bin/bash
DEPS="YES"
check-dependency() {
name=$1
program=${2-"brew list $1"}
if ! eval $program &>/dev/null; then
echo "This app requires $name to run, but it is not installed."
echo " brew install $name"
echo
DEPS="NO"
return 1
fi
return 0
}
check-dependencies() {
check-dependency postgresql 'which psql'
check-dependency imagemagick 'which convert'
check-dependency zeromq
if [ $DEPS == "NO" ]; then
echo "Dependencies not met. Please install them and re-run $0"
exit 1
else
echo "dependencies okay"
fi
}
check-bundle() {
if bundle check &>/dev/null ; then
echo "bundle okay"
else
bundle
fi
}
setup-database() {
for example in config/*.example.yml; do
local dest="${example%.example.yml}.yml"
if [ ! -f "$dest" ]; then
cp "$example" $dest
fi
done 2>/dev/null
rake db:create db:migrate db:seed db:test:prepare 2>/dev/null
}
check-dependencies
check-bundle
setup-database
echo
echo "You're all set!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment