21700: Install Bundler system-wide in Rails postinst
[arvados.git] / services / api / bin / setup
1 #!/usr/bin/env ruby
2 require "fileutils"
3
4 # path to your application root.
5 APP_ROOT = File.expand_path("..", __dir__)
6
7 def system!(*args)
8   system(*args) || abort("\n== Command #{args} failed ==")
9 end
10
11 FileUtils.chdir APP_ROOT do
12   # This script is a way to set up or update your development environment automatically.
13   # This script is idempotent, so that you can run it at any time and get an expectable outcome.
14   # Add necessary setup steps to this file.
15
16   puts "== Installing dependencies =="
17   system! "gem install bundler --conservative"
18   system("bundle check") || system!("bundle install")
19
20   # puts "\n== Copying sample files =="
21   # unless File.exist?("config/database.yml")
22   #   FileUtils.cp "config/database.yml.sample", "config/database.yml"
23   # end
24
25   puts "\n== Preparing database =="
26   system! "bin/rails db:prepare"
27
28   puts "\n== Removing old logs and tempfiles =="
29   system! "bin/rails log:clear tmp:clear"
30
31   puts "\n== Restarting application server =="
32   system! "bin/rails restart"
33 end