class RSS::Rss
RSS 2.0 support¶ ↑
RSS has three different versions. This module contains support for version 2.0
Producing RSS 2.0¶ ↑
Producing our own RSS feeds is easy as well. Let's make a very basic feed:
require "rss" rss = RSS::Maker.make("2.0") do |maker| maker.channel.language = "en" maker.channel.author = "matz" maker.channel.updated = Time.now.to_s maker.channel.link = "http://www.ruby-lang.org/en/feeds/news.rss" maker.channel.title = "Example Feed" maker.channel.description = "A longer description of my feed." maker.items.new_item do |item| item.link = "http://www.ruby-lang.org/en/news/2010/12/25/ruby-1-9-2-p136-is-released/" item.title = "Ruby 1.9.2-p136 is released" item.updated = Time.now.to_s end end puts rss
As you can see, this is a very Builder-like DSL. This code will spit out an RSS 2.0 feed with one item. If we needed a second item, we'd make another block with maker.items.new_item and build a second one.
Attributes
feed_version[W]
rss_version[RW]
Public Class Methods
new(feed_version, version=nil, encoding=nil, standalone=nil)
click to toggle source
Calls superclass method
RSS::RootElementMixin.new
# File lib/rss/0.9.rb, line 62 def initialize(feed_version, version=nil, encoding=nil, standalone=nil) super @feed_type = "rss" end
Public Instance Methods
image()
click to toggle source
# File lib/rss/0.9.rb, line 75 def image if @channel @channel.image else nil end end
items()
click to toggle source
# File lib/rss/0.9.rb, line 67 def items if @channel @channel.items else [] end end
setup_maker_elements(maker)
click to toggle source
Calls superclass method
# File lib/rss/0.9.rb, line 91 def setup_maker_elements(maker) super items.each do |item| item.setup_maker(maker.items) end image.setup_maker(maker) if image textinput.setup_maker(maker) if textinput end
textinput()
click to toggle source
# File lib/rss/0.9.rb, line 83 def textinput if @channel @channel.textInput else nil end end
Private Instance Methods
_attrs()
click to toggle source
# File lib/rss/0.9.rb, line 101 def _attrs [ ["version", true, "feed_version"], ] end