Ideally every gem (or nearly every gem) that works with Ruby 1.9 should work with MacRuby. Browsing the homepage at http://mechanize.rubyforge.org/mechanize/ it appears that Mechanize is still tied to Ruby 1.8.7. However, if you can get it working with Ruby 1.9.2 and it still doesn't work with MacRuby, then that would indicated a bug. A reduced test case would be desirable, but bug reports are always welcome.

Cheers,

Joshua Ballanco

On Thu, Mar 3, 2011 at 3:18 PM, Duane Kiefer <dekiefer@earthlink.net> wrote:
I'm trying to use Mechanize with MacRuby but it fails with the following error:

---------------------------->
Darwin::dekiefer:29-> sudo macgem install mechanize
Password:
Successfully installed mechanize-1.0.0
1 gem installed
Darwin::dekiefer:30-> macirb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'mechanize'
=> true
irb(main):003:0> agent = Mechanize.new
=> #<Mechanize #<Mechanize::CookieJar:0x2006210a0 @jar={}> nil>
irb(main):004:0> page= agent.get('http://google.com/')
NoMethodError: undefined method `html_parser' for nil:NilClass
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/forwardable.rb:185:in `search:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/Gems/1.9.2/gems/mechanize-1.0.0/lib/mechanize/page.rb:227:in `meta'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/Gems/1.9.2/gems/mechanize-1.0.0/lib/mechanize/inspect.rb:21:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:199:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:225:in `nest:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:198:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:210:in `group_sub'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:197:in `group:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/Gems/1.9.2/gems/mechanize-1.0.0/lib/mechanize/inspect.rb:20:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:199:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:225:in `nest:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:198:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:210:in `group_sub'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:197:in `group:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/pp.rb:164:in `object_group:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/Gems/1.9.2/gems/mechanize-1.0.0/lib/mechanize/inspect.rb:16:in `pretty_print:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/pp.rb:154:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:199:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:225:in `nest:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:198:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:210:in `group_sub'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/prettyprint.rb:197:in `group:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/pp.rb:154:in `pp:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/pp.rb:77:in `block'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/pp.rb:121:in `guard_inspect_key'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/pp.rb:77:in `pp:'
       /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/pp.rb:51:in `inspect'
irb(main):005:0> NoMethodError: undefined method `html_parser' for nil:NilClassirb(main):005:0>
<----------------------------------

I'm using the latest version of the trunk:
Darwin::dekiefer:3-> svn co http://svn.macosforge.org/repository/ruby/MacRuby/trunk MacRuby-trunk
Checked out revision 5248.
Darwin::dekiefer:4-> macruby -v
MacRuby 0.10 (ruby 1.9.2) [universal-darwin10.0, x86_64]
Darwin::dekiefer:5->

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel