From db2966ef3e9b45499925794f4710c2935312d000 Mon Sep 17 00:00:00 2001 From: Mike Perham Date: Mon, 17 Aug 2009 17:41:32 -0500 Subject: [PATCH] gem install fails due to missing source, fixes #3048 --- railties/lib/rails/gem_dependency.rb | 8 +++++++- railties/test/gem_dependency_test.rb | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/railties/lib/rails/gem_dependency.rb b/railties/lib/rails/gem_dependency.rb index 06d830b..93ddd99 100644 --- a/railties/lib/rails/gem_dependency.rb +++ b/railties/lib/rails/gem_dependency.rb @@ -285,7 +285,13 @@ module Rails def install_command cmd = %w(install) << name cmd << "--version" << %("#{requirement.to_s}") if requirement - cmd << "--source" << @source if @source + if @source + cmd << "--source" << @source + # Include any pre-configured RubyGems sources + (Gem.sources - Array(@source)).each do |source| + cmd << "--source" << source + end + end cmd end diff --git a/railties/test/gem_dependency_test.rb b/railties/test/gem_dependency_test.rb index 92132be..aa49370 100644 --- a/railties/test/gem_dependency_test.rb +++ b/railties/test/gem_dependency_test.rb @@ -14,6 +14,9 @@ class GemDependencyTest < Test::Unit::TestCase @gem_with_version = Rails::GemDependency.new "xhpricotx", :version => "= 0.6" @gem_with_lib = Rails::GemDependency.new "xaws-s3x", :lib => "aws/s3" @gem_without_load = Rails::GemDependency.new "xhpricotx", :lib => false + # Gem.sources returns user-specific configuration from .gemrc. + # Stub it to ensure it does not pollute gem source testing. + Gem.stubs(:sources).returns([]) end def test_configuration_adds_gem_dependency @@ -27,7 +30,8 @@ class GemDependencyTest < Test::Unit::TestCase end def test_gem_with_source_creates_install_command - assert_equal %w(install xhpricotx --source http://code.whytheluckystiff.net), @gem_with_source.install_command + Gem.stubs(:sources).returns(['http://gems.example.org']) + assert_equal %w(install xhpricotx --source http://code.whytheluckystiff.net --source http://gems.example.org), @gem_with_source.install_command end def test_gem_with_version_creates_install_command -- 1.6.1.3