bin/setup
#!/usr/bin/env ruby
require 'pathname'
require 'fileutils'
include FileUtils
# path to your application root.
APP_ROOT = Pathname.new File.expand_path('..', __dir__)
def system!(*args)
system(*args) || abort("\nCommand #{args} failed")
end
chdir APP_ROOT do
# This script is a starting point to setup your application.
# Add necessary setup steps to this file.
puts 'Installing dependencies =='
system! 'gem install bundler --conservative'
system('bundle check') || system!('bundle install')
# Install JavaScript dependencies if using Yarn
# system('bin/yarn')
puts "\nCopying sample files"
unless File.exist?('config/database.yml')
puts 'Copying database.yml'
cp 'config/database.example.yml', 'config/database.yml'
end
unless File.exist?('config/secrets.yml')
puts 'Copying secrets.yml'
cp 'config/secrets.sample.yml', 'config/secrets.yml'
end
puts 'Installing dependencies =='
system! 'gem install bundler --conservative'
system('bundle check') || system!('bundle install')
puts "\nCreating database"
system! 'bin/rails db:create'
puts "\nMigrating database"
system! 'bin/rails db:schema:load db:migrate'
puts "\nSeeding database"
system! 'bin/rails db:seed'
puts "\nRemoving old logs and tempfiles"
system! 'bin/rails log:clear tmp:clear'
end