aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2012-06-25 06:57:11 +0200
committerPiotr Sarnacki <drogus@gmail.com>2012-08-31 20:51:37 +0200
commit414158805fe9ffed253c7afc665b573c0ba3c6be (patch)
treee30a4f299c226284c53c293c39c57b2d603e974b /railties
parent85098e4b31263b04200cb9ac8406c9b2a38cce35 (diff)
downloadrails-414158805fe9ffed253c7afc665b573c0ba3c6be.tar.gz
rails-414158805fe9ffed253c7afc665b573c0ba3c6be.tar.bz2
rails-414158805fe9ffed253c7afc665b573c0ba3c6be.zip
Revert "Revert changes related to `bundle install` fixes in `rails new`"
The cause of the previous revert was bug in bundler that made it hard to make railties test work. Fix for bundler was recently pushed to github, so now we can safely get back to the original commit. This reverts commit 0f5cc34ab58cda99d1401ecc82e1ebb873838dd7.
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/generators/app_base.rb11
-rw-r--r--railties/test/generators/plugin_new_generator_test.rb9
2 files changed, 17 insertions, 3 deletions
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb
index 383bea9e54..84de254f2f 100644
--- a/railties/lib/rails/generators/app_base.rb
+++ b/railties/lib/rails/generators/app_base.rb
@@ -246,8 +246,17 @@ module Rails
# is easier to silence stdout in the existing test suite this way. The
# end-user gets the bundler commands called anyway, so no big deal.
#
+ # We unset temporary bundler variables to load proper bundler and Gemfile.
+ #
# Thanks to James Tucker for the Gem tricks involved in this call.
- print `"#{Gem.ruby}" "#{Gem.bin_path('bundler', 'bundle')}" #{command}`
+ _bundle_command = Gem.bin_path('bundler', 'bundle')
+
+ bundle_bin_path, bundle_gemfile, rubyopt = ENV['BUNDLE_BIN_PATH'], ENV['BUNDLE_GEMFILE'], ENV['RUBYOPT']
+ ENV['BUNDLE_BIN_PATH'], ENV['BUNDLE_GEMFILE'], ENV['RUBYOPT'] = "", "", ""
+
+ print `"#{Gem.ruby}" "#{_bundle_command}" #{command}`
+
+ ENV['BUNDLE_BIN_PATH'], ENV['BUNDLE_GEMFILE'], ENV['RUBYOPT'] = bundle_bin_path, bundle_gemfile, rubyopt
end
def run_bundle
diff --git a/railties/test/generators/plugin_new_generator_test.rb b/railties/test/generators/plugin_new_generator_test.rb
index 6c3e0178f2..bfb20dad2d 100644
--- a/railties/test/generators/plugin_new_generator_test.rb
+++ b/railties/test/generators/plugin_new_generator_test.rb
@@ -115,7 +115,13 @@ class PluginNewGeneratorTest < Rails::Generators::TestCase
end
def test_generation_runs_bundle_install_with_full_and_mountable
- result = run_generator [destination_root, "--mountable", "--full"]
+ result = run_generator [destination_root, "--mountable", "--full", "--dev"]
+ assert_file "#{destination_root}/Gemfile.lock" do |contents|
+ assert_match(/bukkits/, contents)
+ end
+ assert_match(/run bundle install/, result)
+ assert_match(/Using bukkits \(0\.0\.1\)/, result)
+ assert_match(/Your bundle is complete/, result)
assert_equal 1, result.scan("Your bundle is complete").size
end
@@ -394,4 +400,3 @@ protected
silence(:stdout){ generator.send(*args, &block) }
end
end
-