diff options
| author | mo khan <mo@mokhan.ca> | 2025-01-12 19:49:28 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-01-12 19:49:28 -0700 |
| commit | 98aa588670539dd7ee5720973f5c16f03af245da (patch) | |
| tree | 8f37b8055eca8595cd1bf6ee71859d1e5676b5c7 /projects/3/example/bin/setup | |
| parent | 1c6426eed6d9d53c7ec535fa7f5c84e9759985df (diff) | |
initial commit
Diffstat (limited to 'projects/3/example/bin/setup')
| -rwxr-xr-x | projects/3/example/bin/setup | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/projects/3/example/bin/setup b/projects/3/example/bin/setup new file mode 100755 index 0000000..be3db3c --- /dev/null +++ b/projects/3/example/bin/setup @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby +require "fileutils" + +APP_ROOT = File.expand_path("..", __dir__) + +def system!(*args) + system(*args, exception: true) +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 any time and get an expectable outcome. + # Add necessary setup steps to this file. + + puts "== Installing dependencies ==" + system("bundle check") || system!("bundle install") + + # puts "\n== Copying sample files ==" + # unless File.exist?("config/database.yml") + # FileUtils.cp "config/database.yml.sample", "config/database.yml" + # end + + puts "\n== Preparing database ==" + system! "bin/rails db:prepare" + + puts "\n== Removing old logs and tempfiles ==" + system! "bin/rails log:clear tmp:clear" + + unless ARGV.include?("--skip-server") + puts "\n== Starting development server ==" + STDOUT.flush # flush the output before exec(2) so that it displays + exec "bin/dev" + end +end |
