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:
parent
02cce7ed82
commit
faeff623e0
7 changed files with 150 additions and 25 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue