かずひこです。

sample/rss/blend.rb で以下のように item.setup_maker(maker) で item を追加
していますが、この方法で tDiary の生成する RSS を合体させてみたところ、ソー
トされませんでした。

rss = RSS::Maker.make("1.0") do |maker|
  maker.encoding = encoding
  maker.channel.about = "http://example.com/blend.rdf"
  maker.channel.title = "blended feeds"
  maker.channel.link = "http://example.com/"
  maker.channel.description = "blended feeds generated by RSS Parser"

  feeds.each do |feed|
    feed.items.each do |item|
      item.setup_maker(maker)
    end
  end
  maker.items.do_sort = true
  maker.items.max_size = 15
end
puts rss

どうも、maker の中の items の各 item で、item.date が nil になっているよ
うです。item.setup_maker(maker) のかわりに

    feed.items.each do |item|
      tmp = maker.items.new_item
      tmp.link = item.link
      tmp.dc_date = item.dc_date
      tmp.title = item.title
      tmp.dc_creator = item.dc_creator
      tmp.description = item.description
      tmp.content_encoded = item.content_encoded
    end

とすればソートされるのですが、それはちょっとあんまりだと思います。:)

また、リファレンスを見た感じでは

    feed.items.each do |item|
      maker.items << item
    end

みたいに書けそうに見えたのですが、これはうまくいきませんでした。

ソートしようとすると
  rss/maker/base.rb:425:in `sort_if_need':
  undefined method `<=>' for #<RSS::RDF::Item:0xb7d4409c> (NoMethodError)
になり、ソートしなかったら
  rss/maker/1.0.rb:134:in `to_rss':
  undefined method `to_rss' for #<RSS::RDF::Item:0xb7d8ecf0> (NoMethodError)
になります。

どのへんが仕様でどのへんがバグがよくわからなかったので、とりあえず報告だ
けですがよろしくお願いします。
-- 
かずひこ <http://wiki.fdiary.net/kazuhiko/>
  「恋とハックはアジャイルが命!」