From 6c3170aa477b36d9b1c63b14aecf53f1149e8730 Mon Sep 17 00:00:00 2001 From: Tim Lucas Date: Fri, 6 Feb 2009 11:45:59 +1100 Subject: [PATCH] Added a sources option to Gem::Dependency to allow you to specify multiple gem sources --- railties/lib/rails/gem_dependency.rb | 4 +++- railties/test/gem_dependency_test.rb | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/railties/lib/rails/gem_dependency.rb b/railties/lib/rails/gem_dependency.rb index 5a07841..94332f2 100644 --- a/railties/lib/rails/gem_dependency.rb +++ b/railties/lib/rails/gem_dependency.rb @@ -55,6 +55,7 @@ module Rails @dep = Gem::Dependency.new(name, req) @lib = options[:lib] @source = options[:source] + @sources = options[:sources] @loaded = @frozen = @load_paths_added = false end @@ -239,7 +240,8 @@ module Rails def install_command cmd = %w(install) << name cmd << "--version" << %("#{requirement.to_s}") if requirement - cmd << "--source" << @source if @source + cmd << "--source" << @source if @source + @sources.each {|source| cmd << "--source" << source } if @sources cmd end diff --git a/railties/test/gem_dependency_test.rb b/railties/test/gem_dependency_test.rb index 9cb02fc..2f530ba 100644 --- a/railties/test/gem_dependency_test.rb +++ b/railties/test/gem_dependency_test.rb @@ -10,9 +10,10 @@ class GemDependencyTest < Test::Unit::TestCase def setup @gem = Rails::GemDependency.new "xhpricotx" @gem_with_source = Rails::GemDependency.new "xhpricotx", :source => "http://code.whytheluckystiff.net" + @gem_with_sources = Rails::GemDependency.new "xhpricotx", :sources => ["http://code.whytheluckystiff.net", "http://gems.rubyforge.org"] @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_without_load = Rails::GemDependency.new "xhpricotx", :lib => false end def test_configuration_adds_gem_dependency @@ -29,6 +30,10 @@ class GemDependencyTest < Test::Unit::TestCase assert_equal %w(install xhpricotx --source http://code.whytheluckystiff.net), @gem_with_source.install_command end + def test_gem_with_sources_creates_install_command + assert_equal %w(install xhpricotx --source http://code.whytheluckystiff.net --source http://gems.rubyforge.org), @gem_with_sources.install_command + end + def test_gem_with_version_creates_install_command assert_equal ["install", "xhpricotx", "--version", '"= 0.6"'], @gem_with_version.install_command end -- 1.5.6