Sha256: 58c2691e00d355f9671dc7450c5db6f4e29bb8ebc0354103a1a504b555bbb639

Contents?: true

Size: 1.28 KB

Versions: 42

Compression:

Stored size: 1.28 KB

Contents

#!/usr/bin/env ruby
#
# Switches the development environment to use the given
# version of rails. Caches the Gemfile.locks so that
# switching it very fast.
#
require File.expand_path("../../spec/support/detect_rails_version", __FILE__)

def cmd(command)
  puts command
  exit 1 unless system command
end

version = ARGV[0]

unless version
  puts "USAGE: ./script/#{__FILE__} VERSION [OPTIONS]"
  puts
  puts "Options:"
  puts "  --clobber   Add this flag to remove the existing Gemfile.lock before running"
  exit(1)
end

def file_or_symlink?(path)
  File.exist?(path) || File.symlink?(path)
end

gem_lock_dir = ".gemfile-locks"
gem_lock_file = "#{gem_lock_dir}/Gemfile-#{version}.lock"

# Ensure our lock dir is created
cmd "mkdir #{gem_lock_dir}" unless File.exists?(gem_lock_dir)

# --clobber passed in
if File.exists?(gem_lock_file) && ARGV.include?('--clobber')
  cmd "rm #{gem_lock_file}"
end

write_rails_version(version)

# Ensure that bundler installs
ENV['RUBYOPT'] = ''

if File.exists?(gem_lock_file)
  cmd("rm Gemfile.lock") if file_or_symlink?("Gemfile.lock")
  cmd("ln -s #{gem_lock_file} Gemfile.lock")
  cmd("bundle")
else
  cmd "rm Gemfile.lock" if file_or_symlink?("Gemfile.lock")
  cmd "bundle install"
  cmd "mv Gemfile.lock #{gem_lock_file}"
  cmd("ln -s #{gem_lock_file} Gemfile.lock")
end

Version data entries

42 entries across 42 versions & 7 rubygems

Version Path
activeadmin_addons-1.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-a5a53c3f2b8f/script/use_rails
activeadmin_addons-1.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/script/use_rails
yousty-activeadmin-1.0.17.pre script/use_rails
yousty-activeadmin-1.0.16.pre script/use_rails
activeadmin_addons-1.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/script/use_rails
activeadmin_addons-1.0.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/script/use_rails
activeadmin_addons-1.0.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/script/use_rails
yousty-activeadmin-1.0.15.pre script/use_rails
activeadmin-orac-1.0.0.pre4 script/use_rails
activeadmin-orac-1.0.0 script/use_rails
activeadmin-orac-1.0.0.pre.orac script/use_rails
yousty-activeadmin-1.0.14.pre script/use_rails
yousty-activeadmin-1.0.13.pre script/use_rails
yousty-activeadmin-1.0.12.pre script/use_rails
yousty-activeadmin-1.0.11.pre script/use_rails
yousty-activeadmin-1.0.10.pre script/use_rails
yousty-activeadmin-1.0.9.pre script/use_rails
yousty-activeadmin-1.0.8.pre script/use_rails
activeadmin-1.0.0.pre4 script/use_rails
activeadmin-1.0.0.pre3 script/use_rails