Sha256: 1db65723327aa8a32157e7a53049c283f6a30872edd74b6681b2d5cc23251b3a
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
require 'fileutils' module ActiveAdmin class ApplicationGenerator attr_reader :rails_env, :template def initialize(opts = {}) @rails_env = opts[:rails_env] || 'test' @template = opts[:template] || 'rails_template' end def generate if File.exist? app_dir puts "test app #{app_dir} already exists; skipping test app generation" else FileUtils.mkdir_p base_dir args = %W( -m spec/support/#{template}.rb --skip-bootsnap --skip-bundle --skip-gemfile --skip-listen --skip-turbolinks --skip-test-unit ) command = ['bundle', 'exec', 'rails', 'new', app_dir, *args].join(' ') env = { 'BUNDLE_GEMFILE' => ENV['BUNDLE_GEMFILE'], 'RAILS_ENV' => rails_env } Bundler.with_original_env { abort unless Kernel.system(env, command) } end app_dir end private def base_dir @base_dir ||= rails_env == 'test' ? 'spec/rails' : '.test-rails-apps' end def app_dir @app_dir ||= begin require 'rails/version' "#{base_dir}/rails-#{Rails::VERSION::STRING}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activeadmin-1.4.3 | tasks/application_generator.rb |