IronRuby and Cucumber - undefined method `bin_path' for Gem:Module (NoMethodError)

Hello,

I’m running into the following issue trying to run cucumber with the
latest iron ruby source from git:
c:/ruby/bin/cucumber:19: undefined method `bin_path’ for Gem:Module
(NoMethodError)

This occurs when running either icucumber --help or the i18n cucumber
sample. I’ve not tried any of the other examples.

Yesterday morning I was able to get the scenarios in the i18n examples
to partially execute until they failed with
“Unable to cast from Func to BlockCallTargetN” and :0:in `concat’:
can’t modify frozen object (TypeError)". exceptions, but after
updating this morning I’m only seeing the undefined method exception.

I’m currently sharing gems between MRI and Iron Ruby if that matters,
and am using the instructions found here for cucumber:
http://wiki.github.com/aslakhellesoy/cucumber/ironruby-and-net

Does anyone have any ideas? Or should I file a bug for this on
CodePlex? Also if you need more information let me know.

Thanks in advance,
Matt

I added the following to http://ironruby.net/Support. Could you send the
exception information as described below?

Bugs

If you encounter a bug in IronRuby, or would like to ask for a feature,
please submit an
issuehttp://ironruby.codeplex.com/WorkItem/Create.aspx to the IronRuby
CodePlex projecthttp://ironruby.codeplex.com. A good bug report should
include as much of the following information as possible:

  • IronRuby version - This is the output of “ir.exe -v” for binary
    releases, or the date and time when you did a GIT pull if you are
    building from sources, and if it is a Debug build or a Release build
  • Platform - Version of CLR, OS, machine type
  • MRI results - For pure Ruby code, does it work with ruby.exe
  • Exception information
    * For cases where the exception backtrace is printed to the scree,
    full output of “ir.exe -ExceptionDetail”
    * For cases where the application catches the exception, or if the
    backtrace is not accurate, the call stack from the Call Stack window in
    VS after running using “ir.exe -D”, and enabling catching of all
    Exceptions under the “Debug” menu.

Thanks,

Shri

I just copied the the bin_path code from
C:\path\to\ruby\lib\ruby\site_ruby\1.8\rubygems.rb to
\path\to\ironruby\libraries\lib\ruby\site_ruby\1.8\rubygems.rb and it
works fine with cucumber but I am now getting some new errors with a
frozen object being called.

I have also fixed the problem with expand_path I removed Path and used a
stack and parsed the path myself but I am a contributing noob and not
sure really how to add this.

But I was able to get rspec running with my .net code. I made a bat that
calls spec (in ruby folder) mycode.rb using ironruby

Matt Otto wrote:

Hello,

I’m running into the following issue trying to run cucumber with the
latest iron ruby source from git:
c:/ruby/bin/cucumber:19: undefined method `bin_path’ for Gem:Module
(NoMethodError)

This occurs when running either icucumber --help or the i18n cucumber
sample. I’ve not tried any of the other examples.

Yesterday morning I was able to get the scenarios in the i18n examples
to partially execute until they failed with
“Unable to cast from Func to BlockCallTargetN” and :0:in `concat’:
can’t modify frozen object (TypeError)". exceptions, but after
updating this morning I’m only seeing the undefined method exception.

I’m currently sharing gems between MRI and Iron Ruby if that matters,
and am using the instructions found here for cucumber:
http://wiki.github.com/aslakhellesoy/cucumber/ironruby-and-net

Does anyone have any ideas? Or should I file a bug for this on
CodePlex? Also if you need more information let me know.

Thanks in advance,
Matt

Thanks for reporting these issues. I’m well aware of these issues with
running Cucumber, and am working on getting it running today. The
“frozen object” issue is with optparse, and Shri already has a fix for
it. I’ll get the instructions updated on the cucumber wiki to run it
with IronRuby.

Merrell, if you have a fix to expand_path, please commit/push it to your
fork of IronRuby and send a link to the commit + some description to
this list. More detailed instructions are here:
http://wiki.github.com/ironruby/ironruby/contributing.

~js