PATH:
opt
/
alt
/
ruby23
/
lib64
/
ruby
/
2.3.0
# frozen_string_literal: false ## # = RSS reading and writing # # 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, accessible 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@cozmixng.org> # # 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' require 'rss/content' require 'rss/dublincore' require 'rss/image' require 'rss/itunes' require 'rss/slash' require 'rss/syndication' require 'rss/taxonomy' require 'rss/trackback' require "rss/maker"
[+]
rinda
[+]
yaml
[-] matrix.rb
[edit]
[+]
rdoc
[-] shell.rb
[edit]
[-] ostruct.rb
[edit]
[-] scanf.rb
[edit]
[+]
ripper
[-] rdoc.rb
[edit]
[-] getoptlong.rb
[edit]
[-] sync.rb
[edit]
[-] delegate.rb
[edit]
[-] psych_jars.rb
[edit]
[-] open-uri.rb
[edit]
[-] json.rb
[edit]
[-] rubygems.rb
[edit]
[-] openssl.rb
[edit]
[+]
json
[-] debug.rb
[edit]
[+]
irb
[-] digest.rb
[edit]
[-] yaml.rb
[edit]
[-] forwardable.rb
[edit]
[-] weakref.rb
[edit]
[-] benchmark.rb
[edit]
[-] profiler.rb
[edit]
[-] uri.rb
[edit]
[-] English.rb
[edit]
[+]
syslog
[-] xmlrpc.rb
[edit]
[-] timeout.rb
[edit]
[+]
rbconfig
[-] tracer.rb
[edit]
[-] resolv.rb
[edit]
[+]
uri
[-] tsort.rb
[edit]
[-] find.rb
[edit]
[-] logger.rb
[edit]
[-] psych.rb
[edit]
[+]
psych
[-] ubygems.rb
[edit]
[-] profile.rb
[edit]
[-] optparse.rb
[edit]
[+]
matrix
[-] pp.rb
[edit]
[-] date.rb
[edit]
[-] cmath.rb
[edit]
[-] ripper.rb
[edit]
[-] fiddle.rb
[edit]
[+]
drb
[+]
io
[+]
webrick
[+]
unicode_normalize
[-] cgi.rb
[edit]
[-] pathname.rb
[edit]
[+]
xmlrpc
[-] mutex_m.rb
[edit]
[-] unicode_normalize.rb
[edit]
[+]
rss
[+]
racc
[+]
..
[-] prettyprint.rb
[edit]
[-] csv.rb
[edit]
[-] kconv.rb
[edit]
[-] securerandom.rb
[edit]
[+]
fiddle
[-] abbrev.rb
[edit]
[-] resolv-replace.rb
[edit]
[+]
digest
[-] mathn.rb
[edit]
[+]
rexml
[-] optionparser.rb
[edit]
[-] e2mmap.rb
[edit]
[-] shellwords.rb
[edit]
[-] rss.rb
[edit]
[-] time.rb
[edit]
[+]
openssl
[-] fileutils.rb
[edit]
[-] socket.rb
[edit]
[+]
net
[-] monitor.rb
[edit]
[-] tempfile.rb
[edit]
[-] un.rb
[edit]
[-] mkmf.rb
[edit]
[-] base64.rb
[edit]
[-] thwait.rb
[edit]
[-] webrick.rb
[edit]
[-] erb.rb
[edit]
[+]
shell
[-] expect.rb
[edit]
[-] open3.rb
[edit]
[+]
cgi
[-] tmpdir.rb
[edit]
[-] ipaddr.rb
[edit]
[-] pstore.rb
[edit]
[-] singleton.rb
[edit]
[+]
rubygems
[-] set.rb
[edit]
[-] observer.rb
[edit]
[-] drb.rb
[edit]
[-] irb.rb
[edit]
[-] prime.rb
[edit]
[+]
x86_64-linux
[+]
optparse