-
Notifications
You must be signed in to change notification settings - Fork 26
/
setup
executable file
·34 lines (25 loc) · 1.04 KB
/
setup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env ruby
require "fileutils"
# path to your application root.
APP_ROOT = File.expand_path("..", __dir__)
def system!(*args)
system(*args) || abort("\n== Command #{args} failed ==")
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! "gem install bundler --conservative"
system("bundle check") || system!("bundle install --jobs 4")
# Install JavaScript dependencies
system!("bin/yarn") if File.exist?("yarn.lock")
puts "\n== Copying sample files =="
FileUtils.cp ".env.sample", ".env" unless File.exist?(".env")
puts "\n== Preparing database =="
system! "bin/rails db:prepare db:sample_data"
puts "\n== Removing old logs and tempfiles =="
system! "bin/rails log:clear tmp:clear tmp:create"
puts "\n== Restarting application server =="
system! "bin/rails restart"
end