#!/usr/bin/env bash set -e case "$DB" in postgres|postgresql) RAILSDB="postgresql" ;; mysql) RAILSDB="mysql" ;; sqlite|'') RAILSDB="sqlite3" ;; *) echo "Invalid DB specified: $DB" exit 1 ;; esac if [ ! -z $SOLIDUS_BRANCH ] then BRANCH=$SOLIDUS_BRANCH else BRANCH="master" fi extension_name="solidus_paypal_commerce_platform" # Stay away from the bundler env of the containing extension. function unbundled { ruby -rbundler -e'b = proc {system *ARGV}; Bundler.respond_to?(:with_unbundled_env) ? Bundler.with_unbundled_env(&b) : Bundler.with_clean_env(&b)' -- "$@" } rm -rf ./sandbox unbundled bundle exec rails new sandbox --database="$RAILSDB" \ --skip-bundle \ --skip-git \ --skip-keeps \ --skip-rc \ --skip-spring \ --skip-test \ --skip-javascript if [ ! -d "sandbox" ]; then echo 'sandbox rails application failed' exit 1 fi cd ./sandbox unbundled bundle add solidus --github solidusio/solidus --branch "${BRANCH:-master}" --version '> 0.a' unbundled bundle exec rake db:drop db:create unbundled bundle exec rails generate solidus:install --auto-accept "$@" echo echo "🚀 Sandbox app successfully created for $extension_name!" echo "🚀 Using $RAILSDB and Solidus $BRANCH" echo "🚀 Use 'export DB=[postgres|mysql|sqlite]' to control the DB adapter" echo "🚀 Use 'export SOLIDUS_BRANCH=' to control the Solidus version" echo "🚀 This app is intended for test purposes."