In Files

  • rss/0.9.rb
  • rss/2.0.rb
  • rss/content/2.0.rb
  • rss/dublincore/2.0.rb
  • rss/itunes.rb
  • rss/maker/0.9.rb
  • rss/maker/2.0.rb
  • rss/trackback.rb

Parent

Namespace

Class/Module Index [+]

Quicksearch

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
 
               # File 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 rss/0.9.rb, line 75
def image
  if @channel
    @channel.image
  else
    nil
  end
end
            
items() click to toggle source
 
               # File rss/0.9.rb, line 67
def items
  if @channel
    @channel.items
  else
    []
  end
end
            
setup_maker_elements(maker) click to toggle source
 
               # File 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 rss/0.9.rb, line 83
def textinput
  if @channel
    @channel.textInput
  else
    nil
  end
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus