#!/usr/bin/env ruby

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

puts "\n== Installing Ruby and Node =="
system("mise install -y")

puts "\n== Installing dependencies =="
if MakeMakefile.find_executable0("pacman")
  packages = "imagemagick openslide"
  system("pacman -Q #{packages} || sudo pacman -S --noconfirm --needed #{packages}")
end
system("gem install bundler --conservative")
system("bundle config set --local auto_install true")
system("bundle check") || system!("bundle install")

puts "\n== Preparing database =="
if ARGV.include?("--reset")
  system! "bin/rails db:drop db:create db:schema:load db:prepare db:seed"
else
  system! "bin/rails db:prepare"
end

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