ruby-changes:19464
From: drbrain <ko1@a...>
Date: Wed, 11 May 2011 03:13:34 +0900 (JST)
Subject: [ruby-changes:19464] Ruby:r31503 (trunk): * lib/rss.rb: Add documentation. Patch by Steve Klabnik.
drbrain 2011-05-11 03:07:51 +0900 (Wed, 11 May 2011) New Revision: 31503 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31503 Log: * lib/rss.rb: Add documentation. Patch by Steve Klabnik. [Ruby 1.9 - Bug #4663] Modified files: trunk/ChangeLog trunk/lib/rss.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 31502) +++ ChangeLog (revision 31503) @@ -1,3 +1,8 @@ +Wed May 11 03:06:35 2011 Eric Hodel <drbrain@s...> + + * lib/rss.rb: Add documentation for RSS. Patch by Steve Klabnik. + [Ruby 1.9 - Bug #4663] + Tue May 10 14:50:32 2011 Shota Fukumori <sorah@t...> * lib/test/unit.rb: Add option for hiding skip messages when test Index: lib/rss.rb =================================================================== --- lib/rss.rb (revision 31502) +++ lib/rss.rb (revision 31503) @@ -1,9 +1,81 @@ -# Copyright (c) 2003-2007 Kouhei Sutou. You can redistribute it and/or -# modify it under the same terms as Ruby. +## +# = RSS reading and writing # -# Author:: Kouhei Sutou <kou@c...> -# Tutorial:: http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser%3A%3ATutorial.en +# Really Simple Syndication (RSS) is a family of formats that describe 'feeds,' +# specially constructed XML documents that allow an interested person to +# subscribe and receive updates from a particular web service. This portion of +# the standard library provides tooling to read and create these feeds. +# +# The standard library supports RSS 0.91, 1.0, 2.0, and Atom, a related format. +# Here are some links to the standards documents for these formats: +# +# * RSS +# * 0.9.1[http://www.rssboard.org/rss-0-9-1-netscape] +# * 1.0[http://web.resource.org/rss/1.0/] +# * 2.0[http://www.rssboard.org/rss-specification] +# * Atom[http://tools.ietf.org/html/rfc4287] +# +# == Consuming RSS +# +# If you'd like to read someone's RSS feed with your Ruby code, you've come to +# the right place. It's really easy to do this, but we'll need the help of +# open-uri: +# +# require 'rss' +# require 'open-uri' +# +# url = 'http://www.ruby-lang.org/en/feeds/news.rss' +# open(url) do |rss| +# feed = RSS::Parser.parse(rss) +# puts "Title: #{feed.channel.title}" +# feed.items.each do |item| +# puts "Item: #{item.title}" +# end +# end +# +# As you can see, the workhorse is RSS::Parser#parse, which takes the source of +# the feed and a parameter that performs validation on the feed. We get back an +# object that has all of the data from our feed, accessable through methods. +# This example shows getting the title out of the channel element, and looping +# through the list of items. +# +# == Producing RSS +# +# Producing our own RSS feeds is easy as well. Let's make a very basic feed: +# +# require "rss" +# +# rss = RSS::Maker.make("atom") do |maker| +# maker.channel.author = "matz" +# maker.channel.updated = Time.now.to_s +# maker.channel.about = "http://www.ruby-lang.org/en/feeds/news.rss" +# maker.channel.title = "Example 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 +# Atom 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. +# +# == Copyright +# +# Copyright (c) 2003-2007 Kouhei Sutou <kou@c...> +# +# You can redistribute it and/or modify it under the same terms as Ruby. +# +# There is an additional tutorial by the author of RSS at: +# http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser%3A%3ATutorial.en +module RSS +end + require 'rss/1.0' require 'rss/2.0' require 'rss/atom' -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/