docbrown/bin/setup
2018-02-28 16:11:08 -05:00

43 lines
1.3 KiB
Ruby
Executable file

#!/usr/bin/env ruby
require 'pathname'
require 'fileutils'
include FileUtils
# path to your application root.
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
def system!(*args)
system(*args) || abort("\n== Command #{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 "\n== Copying sample files =="
# unless File.exist?('config/database.yml')
# cp 'config/database.yml.sample', 'config/database.yml'
# end
puts "\n== Preparing database =="
system! 'bin/rails db:setup'
puts "\n== Resolve Rails 5.0 & 5.1 specfic issue (open bin/setup for more info) =="
# This solution was found here https://github.com/rails/rails/issues/26731#issuecomment-302446525
# This line is to remove manual need to run a separate manual migration upon calling rspec
system! 'RAILS_ENV=test bin/rails db:environment:set'
puts "\n== Removing old logs and tempfiles =="
system! 'bin/rails log:clear tmp:clear'
puts "\n== Restarting application server =="
system! 'bin/rails restart'
end