1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rss/rss.rb (Hash#merge, Enumerable#sort_by): removed.

* lib/rss/rss.rb (RSS::RootElementMixin#to_xml): added.
  [ruby-talk:197284]

  We can convert RSS version easily like the following:
    rss10 = RSS::Parser.parse(File.read("1.0.rdf"))
    File.open("2.0.rss", "w") {|f| f.print(rss10.to_xml("2.0"))}

* test/rss/test_1.0.rb: added #to_xml test.
* test/rss/test_2.0.rb: ditto.

* test/rss/rss-testcase.rb: added some helper methods that
  generates sample RSS 2.0.

* sample/rss/convert.rb: added a sample script to convert RSS format.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kou 2006-06-17 01:37:08 +00:00
parent 02cce7ed82
commit faeff623e0
7 changed files with 150 additions and 25 deletions

View file

@ -30,28 +30,6 @@ class Time
end
end
module Enumerable
unless instance_methods.include?("sort_by")
def sort_by
collect do |x|
[yield(x), x]
end.sort do |x, y|
x[0] <=> y[0]
end.collect! do |x|
x[1]
end
end
end
end
class Hash
unless instance_methods.include?("merge")
def merge(other)
dup.update(other)
end
end
end
require "English"
require "rss/utils"
require "rss/converter"
@ -946,7 +924,18 @@ EOC
setup_maker_elements(maker)
end
def to_xml(version=nil, &block)
if version.nil? or version == @rss_version
to_s
else
RSS::Maker.make(version) do |maker|
setup_maker(maker)
block.call(maker) if block
end.to_s
end
end
private
def tag(indent, attrs, &block)
rv = xmldecl + xml_stylesheet_pi