本体の方は概ね片付いたっぽいので、今度は plugin の動作確認開始。と思っていたら、最初に試した amazon.rb でいきなりエラー。
Insecure operation - require (SecurityError) /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:260:in `require' /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:260:in `open_http' /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:767:in `buffer_open' /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:203:in `block in open_loop' /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:201:in `catch' /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:201:in `open_loop' /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:146:in `open_uri' /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:669:in `open' /opt/local/lib/ruby1.9/1.9.1/open-uri.rb:33:in `open' (plugin/amazon.rb):52:in `block in amazon_call_ecs' /opt/local/lib/ruby1.9/1.9.1/timeout.rb:52:in `timeout' /opt/local/lib/ruby1.9/1.9.1/timeout.rb:82:in `timeout' (plugin/amazon.rb):51:in `amazon_call_ecs' (plugin/amazon.rb):228:in `rescue in amazon_get' (plugin/amazon.rb):225:in `amazon_get' (plugin/amazon.rb):318:in `isbn_detail' (TDiary::Plugin#eval_src):26:in `block in eval_src' /Users/hsbt/dev/tdiary/trunk/core/tdiary.rb:787:in `eval' /Users/hsbt/dev/tdiary/trunk/core/tdiary.rb:787:in `block in eval_src' /Users/hsbt/dev/tdiary/trunk/core/tdiary.rb:112:in `block in safe'
SecurityError って…。
続いて flickr.rb もAPIキー未設定時にエラー
undefined method `empty?' for nil:NilClass (NoMethodError) (plugin/flickr.rb):26:in `flickr' (TDiary::Plugin#eval_src):27:in `block in eval_src' /Users/hsbt/dev/tdiary/trunk/core/tdiary.rb:787:in `eval' /Users/hsbt/dev/tdiary/trunk/core/tdiary.rb:787:in `block in eval_src' /Users/hsbt/dev/tdiary/trunk/core/tdiary.rb:112:in `block in safe'
APIキー設定後も
[ERROR] flickr.rb: failed to get photo.
とエラーが出てとれてないっぽい。
他のプラグインだと livedoor_weather.rb とか hatena_star.rb は問題なし。今日はプラグインを有効にして現象を調べただけだと、外部のWebサービスのAPI叩いて処理するタイプのプラグインは何かしら引っかかりそうだなあ。
そろそろruby1.9のリリースも近づいてきているみたいなので、こつこつつぶしていこう。
amazon.rbの件ですが、__FILE__が汚染されているのが原因の一つかもしれません。(tdiary.rb:17)
flickr.rbはREXMLを使ったときのencodingが怪しいと思っています。あとでみます。