diff --git a/.gitignore b/.gitignore index 28f014472f..93eed96012 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,7 @@ pkg/ spec/dummy/db/*.sqlite3 spec/dummy/log/*.log spec/dummy/tmp/ +.internal_test_app/**/* spec/mock_upload_directory @@ -97,5 +98,3 @@ public/system/ ## Sitemap public/sitemap.xml - -./spec/internal diff --git a/Gemfile b/Gemfile index a5fafe41ef..0ab4bbf8fb 100644 --- a/Gemfile +++ b/Gemfile @@ -16,17 +16,26 @@ group :development, :test do gem 'rubocop-rspec', require: false end -file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path("../spec/internal", __FILE__)) +# BEGIN ENGINE_CART BLOCK +# engine_cart: 0.8.0 +# engine_cart stanza: 0.8.0 +# the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app. +file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path(".internal_test_app", File.dirname(__FILE__))) if File.exists?(file) - puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v` - instance_eval File.read(file) + begin + eval_gemfile file + rescue Bundler::GemfileError => e + Bundler.ui.warn '[EngineCart] Skipping Rails application dependencies:' + Bundler.ui.warn e.message + end else + Bundler.ui.warn "[EngineCart] Unable to find test application dependencies in #{file}, using placeholder dependencies" gem 'rails', ENV['RAILS_VERSION'] if ENV['RAILS_VERSION'] - - if ENV['RAILS_VERSION'] and ENV['RAILS_VERSION'] !~ /^4.2/ - gem 'sass-rails', "< 5.0" - else + if ENV['RAILS_VERSION'].nil? || ENV['RAILS_VERSION'] =~ /^4.2/ gem 'responders', "~> 2.0" gem 'sass-rails', ">= 5.0" + else + gem 'sass-rails', "< 5.0" end end +# END ENGINE_CART BLOCK