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 rss-0.3.0/lib/rss/0.9.rb, line 63
def initialize(feed_version, version=nil, encoding=nil, standalone=nil)
  super
  @feed_type = "rss"
end

Public Instance Methods

image() click to toggle source
# File rss-0.3.0/lib/rss/0.9.rb, line 76
def image
  if @channel
    @channel.image
  else
    nil
  end
end
items() click to toggle source
# File rss-0.3.0/lib/rss/0.9.rb, line 68
def items
  if @channel
    @channel.items
  else
    []
  end
end
setup_maker_elements(maker) click to toggle source
Calls superclass method
# File rss-0.3.0/lib/rss/0.9.rb, line 92
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 rss-0.3.0/lib/rss/0.9.rb, line 84
def textinput
  if @channel
    @channel.textInput
  else
    nil
  end
end

Private Instance Methods

_attrs() click to toggle source
# File rss-0.3.0/lib/rss/0.9.rb, line 102
def _attrs
  [
    ["version", true, "feed_version"],
  ]
end