From 89c9b83bd19a0278af0a3db43d94560738ec8aa4 Mon Sep 17 00:00:00 2001 From: Chris Lloyd Date: Sat, 30 Aug 2008 09:44:12 +1000 Subject: [PATCH] Fix gem dependencies requiring version glob when no version is specified. --- railties/lib/rails/gem_dependency.rb | 8 ++++++-- railties/test/gem_dependency_test.rb | 8 +++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/railties/lib/rails/gem_dependency.rb b/railties/lib/rails/gem_dependency.rb index 471e03f..98c17d5 100644 --- a/railties/lib/rails/gem_dependency.rb +++ b/railties/lib/rails/gem_dependency.rb @@ -22,9 +22,13 @@ module Rails @loaded = @frozen = @load_paths_added = false @unpack_directory = nil end - + + def unpacked_glob + @name + (@version ? "-#{@version}" : '*') + end + def unpacked_paths - Dir[File.join(self.class.unpacked_path, "#{@name}-#{@version || "*"}")] + Dir[File.join(self.class.unpacked_path, unpacked_glob)] end def add_load_paths diff --git a/railties/test/gem_dependency_test.rb b/railties/test/gem_dependency_test.rb index 964ca50..3d425f0 100644 --- a/railties/test/gem_dependency_test.rb +++ b/railties/test/gem_dependency_test.rb @@ -39,6 +39,12 @@ uses_mocha "Plugin Tests" do def test_gem_with_version_unpack_install_command assert_equal ["unpack", "hpricot", "--version", '"= 0.6"'], @gem_with_version.unpack_command end + + def test_gem_unpack_glob + assert_equal @gem.unpacked_glob.include?('*'), true + assert_equal @gem.unpacked_glob.include?('-'), false + assert_equal @gem_with_version.unpacked_glob.include?('-'), true + end def test_gem_adds_load_paths @gem.expects(:gem).with(@gem.name) @@ -70,6 +76,6 @@ uses_mocha "Plugin Tests" do @gem_without_load.add_load_paths @gem_without_load.load end - + end end -- 1.5.6.1