From 45d918df135458660fa0dd9c5a17c7a953a88831 Mon Sep 17 00:00:00 2001 From: Michael Bleigh Date: Mon, 8 Feb 2010 14:58:32 -0500 Subject: [PATCH] Fixes unescaped version passthrough of generator 'gem' command. --- railties/lib/rails/generators/actions.rb | 2 +- railties/test/generators/actions_test.rb | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletions(-) diff --git a/railties/lib/rails/generators/actions.rb b/railties/lib/rails/generators/actions.rb index 152fe6e..d41da77 100644 --- a/railties/lib/rails/generators/actions.rb +++ b/railties/lib/rails/generators/actions.rb @@ -69,7 +69,7 @@ module Rails # otherwise use name (version). parts, message = [ name.inspect ], name if version ||= options.delete(:version) - parts << version + parts << version.inspect message << " (#{version})" end message = options[:git] if options[:git] diff --git a/railties/test/generators/actions_test.rb b/railties/test/generators/actions_test.rb index 0512f69..1839ceb 100644 --- a/railties/test/generators/actions_test.rb +++ b/railties/test/generators/actions_test.rb @@ -103,6 +103,24 @@ class ActionsTest < Rails::Generators::TestCase assert_file 'Gemfile', /gem "rspec", :only => \["development", "test"\]/ end + def test_gem_with_version_should_include_version_in_gemfile + run_generator + + action :gem, 'rspec', '>=2.0.0.a5' + + assert_file 'Gemfile', /gem "rspec", ">=2.0.0.a5"/ + end + + def test_gem_should_insert_on_separate_lines + run_generator + + action :gem, 'rspec' + action :gem, 'rspec-rails' + + assert_file 'Gemfile', /gem "rspec"$/ + assert_file 'Gemfile', /gem "rspec-rails"$/ + end + def test_environment_should_include_data_in_environment_initializer_block run_generator load_paths = 'config.load_paths += %w["#{Rails.root}/app/extras"]' -- 1.6.5.1