[Ironruby-core] Gems and Rails use cases

Wayne Kelly w.kelly at qut.edu.au
Tue May 20 10:40:28 EDT 2008

Now that most of the files required by rails are loading successfully, I'm now trying to actually run a number of gems/rails use cases:

ir.exe c:\rubygems-1.1.1\setup.rb
ir.exe c:\ruby\bin\gem -h
ir.exe c:\ruby\bin\gem -list
ir.exe c:\ruby\bin\gem install rails
ir.exe c:\ruby\bin\rails -h
ir.exe c:\ruby\bin\rails my_rails_app
ir.exe c:\my_rails_app\script\server
ir.exe c:\my_rails_app\public\dispatch.cgi

I installed the MRI windows one click installer and replaced the i386-mswin32 directory with an ironruby directory that contains stubs for:
thread.so, etc.so, socket.so, stringio.so, syck.so, zlib.so, digest.so, digest/sha2.so, openssl.so, enumerator.so, bigdecimal.so, nkf.so, strscan.so

The following lists the problems that I encountered (and in some cases worked around) for these use cases:

gems setup.rb:
 - Mutex class not declared (from Thread.so)
 - gsub $n bug [bug #20137]
 - Hash modified during iteration [bug #20198]
 - require infinite loop [bug #20131]
 - Time::gmt_offset not implemented [patch #20175]
 - Dir.glob unexpected character [bug #19843]
 - define_method overload missing [bug #20119?]
 - Mutex::synchronize method not implemented
 - File::stat, lstat & unlink methods not implemented [bug #20252]

gem -h:
gem list:
gem install rails:
 - Interrupt class not declared
 - Regexp.new(string, string) method not implemented
 - YAML::Syck::Resolver class not declared
 - YAML::Syck::DefaultResolver constant not defined
 - YAML::Syck::Resolver::use_types_at method not implemented
 - YAML::Syck:GenericResolver constant not defined
 - YAML::Syck:Parser class not declared
 - YAML::Syck:Emitter class not declared
 - Digest::SHA256 not defined
 - Module::define_method(:symbol) { block} overload not implemented

rails generate myapp:
  - ResolveSourceUnit load source with no extension [bug #20206]
 - Signal.trap method not implemented

rails runtime (webrick):
rails runtime (dispatch.cgi):
 - ENV::each method not implemented
 - Regexp unrecognized escape sequence \_  [bug #20205]
 - File::SEPARATOR = '/' rather than '\' ???
 - Module::method_added method not implemented
 - Thread::critical= method not implemented
 - NKF class not implemented (from nkf.so)
 - send attr_accessor [bug #20242]

More information about the Ironruby-core mailing list