[Rubygems-developers] odd behavior of gem#name with obsolte MSWIN32 platform.

Luis Lavena luislavena at gmail.com
Mon Oct 22 15:26:33 EDT 2007

Hello Guys,

I'm checking some odd naming behavior with latest beta.

I just installed a gem with platform mswin32, which installed just
fine, but found that it's named wrong by RubyGems.

as Example:

mongrel-1.0.1-mswin32.gem, install just fine, it list just fine.

Folder on which is installed:

mongrel-1.0.1-mswin32, everything seems ok.

Now, I want to check that using the following pastie:


require 'rubygems'
require 'pp'

sdir = File.join(Gem.dir, 'specifications')
gems = Gem::SourceIndex.from_installed_gems(sdir)

list = []

gems.each do |path, gem|
  list << {:path => path, :gem_name => gem.name}

pp list

With the following output:

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
[{:path=>"mini_magick-1.2.3", :gem_name=>"mini_magick"},
 {:path=>"mongrel-1.0.2-x86-mswin32-60", :gem_name=>"mongrel"},
 {:path=>"rake-0.7.3", :gem_name=>"rake"},
 {:path=>"gem_plugin-0.2.3", :gem_name=>"gem_plugin"},
 {:path=>"cgi_multipart_eof_fix-2.5.0", :gem_name=>"cgi_multipart_eof_fix"},
 {:path=>"win32-service-0.5.2-x86-mswin32-60", :gem_name=>"win32-service"},
 {:path=>"hoe-1.3.0", :gem_name=>"hoe"},
 {:path=>"rubyforge-0.4.4", :gem_name=>"rubyforge"},
 {:path=>"mongrel_service-0.3.3-x86-mswin32-60", :gem_name=>"mongrel_service"}]

please note that the platform for mongrel isn't mswin32, but
x86-mswin32-60 ... and don't match with the folder it installed...

gem#name is returning that, disregarding the current folder where the
gem was installed...

Luis Lavena
Multimedia systems
Leaders are made, they are not born. They are made by hard effort,
which is the price which all of us must pay to achieve any goal that
is worthwhile.
Vince Lombardi

More information about the Rubygems-developers mailing list