Создание Ruby RSS/Atom, включая контент

Я создаю фид Atom, используя библиотеку ruby ​​stdlib rss. Эта библиотека практически недокументирована, но у меня она работает, используя пример, представленный на этой странице:

require 'rss'

rss = RSS::Maker.make("atom") do |m|

    m.channel.author  = "Steve Wattam"
    m.channel.updated = Time.now
    m.channel.about   = "http://stephenwattam.com/blog/"
    m.channel.title   = "Steve W's Blog"

    storage.posts.each do |p|
        m.items.new_item do |item|
            item.link    = p.link
            item.title   = p.title
            item.updated = p.edited
            item.pubDate = p.date
            item.summary = p.summary
        end
    end
 end

Это прекрасно работает. Однако я не могу добавить элемент содержимого. Не существует такой вещи, как item.content=, и я не могу найти ни одного примера кода в Интернете --- просмотр исходного кода показывает, что content хранится в элементе (здесь), но мне не хватает знаний, чтобы дразнить его.

Кто-нибудь знает, как я могу добавить элемент контента?

Кстати, я знаю, что для этого существуют другие библиотеки, но в идеале хотелось бы, чтобы это работало без каких-либо драгоценных камней.


person Stephen Wattam    schedule 24.09.2014    source источник


Ответы (1)


Копаясь в исходниках библиотеки, я обнаружил, что item.content дает объект типа RSS::Maker::Atom::Feed::Items::Item::Content. Можно установить содержимое этого объекта:

item.content.content = 'text to set as content'

Этот объект также отвечает на #xml_content.

Надеюсь, это поможет кому-то!

person Stephen Wattam    schedule 24.09.2014
comment
Кажется, это больше не работает. В этой библиотеке бардак. - person Lerk; 23.06.2021