Class
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
Write
No documentation available
Read & Write
No documentation available
Class Methods
lib/rss/0.9.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rss/0.9.rb, line 63
def initialize(feed_version, version=nil, encoding=nil, standalone=nil)
super
@feed_type = "rss"
end
No documentation available
Instance Methods
#
lib/rss/0.9.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rss/0.9.rb, line 102
def _attrs
[
["version", true, "feed_version"],
]
end
No documentation available
#
lib/rss/0.9.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rss/0.9.rb, line 76
def image
if @channel
@channel.image
else
nil
end
end
No documentation available
#
lib/rss/0.9.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rss/0.9.rb, line 68
def items
if @channel
@channel.items
else
[]
end
end
No documentation available
lib/rss/0.9.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/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
No documentation available
lib/rss/0.9.rb
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rss/0.9.rb, line 84
def textinput
if @channel
@channel.textInput
else
nil
end
end
No documentation available