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]