diff --git a/myproject/vendor/rails/railties/lib/rails/gem_dependency.rb b/myproject/vendor/rails/railties/lib/rails/gem_dependency.rb index 9f088a1..6e6c883 100644 --- a/myproject/vendor/rails/railties/lib/rails/gem_dependency.rb +++ b/myproject/vendor/rails/railties/lib/rails/gem_dependency.rb @@ -15,10 +15,12 @@ module Rails @requirement = Gem::Requirement.create(options[:version]) end - @version = @requirement.instance_variable_get("@requirements").first.last if @requirement - @name = name.to_s - @lib = options[:lib] - @source = options[:source] + @version = @requirement.instance_variable_get("@requirements").first.last if @requirement + @name = name.to_s + @lib = options[:lib] + @source = options[:source] + @gem_options = options[:gem_options] + @install_options = options[:install_options] @loaded = @frozen = @load_paths_added = false @unpack_directory = nil end @@ -112,6 +114,8 @@ private ################################################################### cmd = %w(install) << @name cmd << "--version" << %("#{@requirement.to_s}") if @requirement cmd << "--source" << @source if @source + cmd << @gem_options if @gem_options + cmd << "-- #{@install_options}" if @install_options cmd end diff --git a/myproject/vendor/rails/railties/test/gem_dependency_test.rb b/myproject/vendor/rails/railties/test/gem_dependency_test.rb index 3ae0189..d1d2216 100644 --- a/myproject/vendor/rails/railties/test/gem_dependency_test.rb +++ b/myproject/vendor/rails/railties/test/gem_dependency_test.rb @@ -13,6 +13,26 @@ uses_mocha "Plugin Tests" do @gem_with_lib = Rails::GemDependency.new "aws-s3", :lib => "aws/s3" end + def test_gem_with_gem_options_creates_install_command + config = Rails::Configuration.new + config.gem "aws-s3", :gem_options => "--no-ri --no-rdoc" + assert_equal [["install","aws-s3", "--no-ri --no-rdoc"]], config.gems.collect(&:install_command) + end + + def test_gem_with_install_options_creates_install_command + config = Rails::Configuration.new + mysql_config_option = "--with-mysql-config=/usr/local/mysql-5.0.51b-osx10.5-x86/bin/mysql_config" + config.gem "mysql", :install_options => mysql_config_option + assert_equal [["install","mysql", "-- #{mysql_config_option}"]], config.gems.collect(&:install_command) + end + + def test_gem_with_install_options_creates_install_command_with_escaped_quotes + config = Rails::Configuration.new + mysql_config_option = "\"--with-mysql-config=/path/to/directory/containing a space\"" + config.gem "mysql", :install_options => mysql_config_option + assert_equal [["install","mysql", "-- #{mysql_config_option}"]], config.gems.collect(&:install_command) + end + def test_configuration_adds_gem_dependency config = Rails::Configuration.new config.gem "aws-s3", :lib => "aws/s3", :version => "0.4.0"