practice doing this
at main 1.1 kB view raw
1#!/usr/bin/env ruby 2require "fileutils" 3 4APP_ROOT = File.expand_path("..", __dir__) 5 6def system!(*args) 7 system(*args, exception: true) 8end 9 10FileUtils.chdir APP_ROOT do 11 # This script is a way to set up or update your development environment automatically. 12 # This script is idempotent, so that you can run it at any time and get an expectable outcome. 13 # Add necessary setup steps to this file. 14 15 puts "== Installing dependencies ==" 16 system("bundle check") || system!("bundle install") 17 18 # puts "\n== Copying sample files ==" 19 # unless File.exist?("config/database.yml") 20 # FileUtils.cp "config/database.yml.sample", "config/database.yml" 21 # end 22 23 puts "\n== Preparing database ==" 24 system! "bin/rails db:prepare" 25 system! "bin/rails db:reset" if ARGV.include?("--reset") 26 27 puts "\n== Removing old logs and tempfiles ==" 28 system! "bin/rails log:clear tmp:clear" 29 30 unless ARGV.include?("--skip-server") 31 puts "\n== Starting development server ==" 32 STDOUT.flush # flush the output before exec(2) so that it displays 33 exec "bin/dev" 34 end 35end