diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-30 08:59:16 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-30 08:59:16 +0000 |
commit | a1f76cae297fbdddebc6e16b3a274686893565ff (patch) | |
tree | 6fe209baa581b08053a531b0bbe5ad17df8d2222 /gem_prelude.rb | |
parent | ecebf2f2365a5d8e7c6629a39580d47d586a0e40 (diff) | |
download | ruby-a1f76cae297fbdddebc6e16b3a274686893565ff.tar.gz ruby-a1f76cae297fbdddebc6e16b3a274686893565ff.tar.xz ruby-a1f76cae297fbdddebc6e16b3a274686893565ff.zip |
* gem_prelude.rb (push_all_highest_version_gems_on_load_path):
simplified.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@26201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gem_prelude.rb')
-rw-r--r-- | gem_prelude.rb | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/gem_prelude.rb b/gem_prelude.rb index f83a341ff..fac6a3806 100644 --- a/gem_prelude.rb +++ b/gem_prelude.rb @@ -233,19 +233,11 @@ if defined?(Gem) then Dir.entries(gems_directory).each do |gem_directory_name| next if gem_directory_name == "." || gem_directory_name == ".." - dash = gem_directory_name.rindex("-") - next if dash.nil? - - gem_name = gem_directory_name[0...dash] + next unless gem_name = gem_directory_name[/(.*)-(.*)/, 1] + new_version = integers_for($2) current_version = GemVersions[gem_name] - new_version = integers_for(gem_directory_name[dash+1..-1]) - - if current_version then - if (current_version <=> new_version) == -1 then - GemVersions[gem_name] = new_version - GemPaths[gem_name] = File.join(gems_directory, gem_directory_name) - end - else + + if !current_version or (current_version <=> new_version) < 0 then GemVersions[gem_name] = new_version GemPaths[gem_name] = File.join(gems_directory, gem_directory_name) end |