#!/usr/bin/env ruby require "fileutils" # path to your application root. APP_ROOT = File.expand_path("..", __dir__) def system!(*args) system(*args) || abort("\n== Command #{args} failed ==") end FileUtils.chdir APP_ROOT do # This script is a way to set up or update your development environment automatically. # This script is idempotent, so that you can run it at anytime and get an expectable outcome. # Add necessary setup steps to this file. puts "== Installing dependencies ==" system! "gem install bundler --conservative" system! "bundle config --local cache_all true" system! "bundle config --local cache_all_platforms true" system! "bundle config --local ignore_messages.rpush true" system("bundle check") || system!("bundle install") system! "gem list \"^foreman$\" -i --silent || gem install foreman" # Install JavaScript dependencies if using Yarn system("bin/yarn") puts "\n== Copying sample files ==" unless File.exist?("config/database.yml") FileUtils.cp "config/database.yml.sample", "config/database.yml" end unless File.exist?(".env") FileUtils.cp ".env_sample", ".env" end puts "\n== Initializing the application ==" system! "bin/rails app_initializer:setup forem:setup" puts "\n== Removing old logs and tempfiles ==" system! "bin/rails log:clear tmp:clear" end