Mechanize 0.9.3不調

Fedora11にしたら Mechanizeが0.9.3になって派生クラスが使えなくなった。

require "rubygems"
require "mechanize"

class MyMechanize < WWW::Mechanize
end

agent = MyMechanize.new
page = agent.get("http://www.google.com")
p page  # p でpretty printする際にparseが動いてそこで落ちる
/usr/lib/ruby/site_ruby/1.8/www/mechanize/page.rb:77:in `parser':
     undefined method `parse' for nil:NilClass (NoMethodError)


生でWWW::Mechanizeクラスを使うと当然問題なし。
まだドキュメントを読んでないけど、これが駄目と言われると困ってしまう。

gem install mechanize -v 0.9.2 して gem "mechanize", "< 0.9.3" を入れるとOKなので Mechanize が直接原因。
これでとりあえず大丈夫みたいだけど。


id:kitamomonga:20090613 を見ると、文字コードの問題が改善されてるそうなのでよさげ。


2009-07-02 追記
id:kitamomongaさんに教えていただいた方法で対応!

class MyMechanize < WWW::Mechanize
  self.html_parser = WWW::Mechanize.html_parser
end