[#46033] cgi をするときのデバック方法について — Nobuyuki Inaba <nobuyuki.inaba@...>

稲葉と申します。

15 messages 2009/05/22
[#46034] Re: cgi をするときのデバック方法について — rubikitch@... 2009/05/23

From: Nobuyuki Inaba <nobuyuki.inaba@gmail.com>

[ruby-list:46025] Re: 複数バージョンのRubyに対応するRSS::Makerの使い方

From: Kouhei Sutou <kou@...>
Date: 2009-05-16 11:25:23 UTC
List: ruby-list #46025
須藤です。

In <20090514.214319.123339447491944772.kou@cozmixng.org>
  "[ruby-list:46019] Re: 複数バージョンのRubyに対応するRSS::Makerの使い方" on Thu, 14 May 2009 21:42:07 +0900,
  Kouhei Sutou <kou@cozmixng.org> wrote:

>> Tutorial.ja だと 0.91 を生成するときに
>>  RSS::Maker.makeの第一引数を"0.91"に変更
>> するだけで出来るように書いてあるのですが、
>>  maker.channel.language = "ja"
>> も追加しないと生成できませんでした。
> 
> すいません。チュートリアルの方が追いついていませんでした。

直しました。

>> 1.8.5 や 1.8.6 だと atom に対応していないので、生成しないように
>> したかったのですが、そのまま RSS::Maker.make を呼び出すと
>> NoMethodError になるのが困りました。
>> typo が見つけにくくなるのが嫌で NoMethodError はあまり rescue したくないので、
>>  RSS::Maker::MAKERS.include?(version)
>> でチェックするようにしたのですが、もっと良い方法はないのでしょうか?
> 
> RSS Parserの最新版にはRSS::Maker.supported?(version)を追加し
> て、手元のスクリプトでは
> 
>   unless RSS::Maker.respond_to?(:supported?)
>     def RSS::Maker.supported?(version)
>       RSS::Maker::MAKERS.include?(version)
>     end
>   end
> 
> としておく、というのはどうでしょうか?
> 
> # supported?じゃなくてsupport?の方がよいかしら。

RSS::Maker.supported?を追加しました。

>> atomに対応しているバージョンで生成されたatomの中をみると
>> dc:date が2個ずつ入っているのですが、これは問題ないのでしょうか?
> 
> あ、バグです。前に直したつもりだったんですが。。。

直しました。

>> 最後に、これが一番困ったのですが、1.8.7 以降だと maker.image で
>> ひっかかって0.91 が生成できませんでした。
> 
> これもバグです。直しておきます。

これはバグではありませんでした。
むしろ、バグを直した結果こうなっています。
RSS 0.91と0.92では/rss/channel/imageが必須なんですよ。

  http://www.rssboard.org/rss-0-9-1
  http://www.rssboard.org/rss-0-9-2

ドキュメントでも明記するようにしました。

>> % ruby-trunk -v sample-rss.rb
>> ruby 1.9.2dev (2009-05-11 trunk 23390) [i686-linux]
>> /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/content/1.0.rb:2: warning: loading in progress, circular require considered harmful - /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/content.rb
>> /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/content/2.0.rb:2: warning: loading in progress, circular require considered harmful - /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/content.rb
>> /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/dublincore/1.0.rb:2: warning: loading in progress, circular require considered harmful - /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/dublincore.rb
>> /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/dublincore/2.0.rb:2: warning: loading in progress, circular require considered harmful - /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/dublincore.rb
>> /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/dublincore/atom.rb:2: warning: loading in progress, circular require considered harmful - /home/kazu/opt/ruby-trunk/lib/ruby/1.9.1/rss/dublincore.rb
> 
> この警告も直しておきます。

直しました。

In This Thread