#!/usr/bin/env ruby

def system!(*args) system(*args, exception: true) end

puts "== Installing dependencies =="
system("gem install bundler --conservative")
system("bundle check") || system!("bundle install")

puts "\n== Starting MySQL =="
system!("git -C ~/Work/basecamp/shipyard pull || true")
system!("~/Work/basecamp/shipyard/app-dev/setup mysql80")

puts "\n== Preparing database =="
if ARGV.include?("--reset")
  system! "bin/rails db:drop db:create db:schema:load db:prepare"
  system! "bin/rails db:fixtures:load" # load signal id fixtures before running fizzy seeds
  system! "bin/rails db:seed"
else
  system! "bin/rails db:prepare"
end

puts "\n== Removing old logs and tempfiles =="
system! "bin/rails log:clear tmp:clear"
