From 123f1a280cdb5bb4abe24ddb7838d56bd8a3004e Mon Sep 17 00:00:00 2001 From: kou Date: Tue, 20 Jun 2006 12:20:13 +0000 Subject: * lib/rss/rss.rb: provided default RSS::Element#children. * lib/rss/0.9.rb: used default RSS::Element#children. * lib/rss/1.0.rb: ditto. * lib/rss/2.0.rb: ditto. * lib/rss/taxonomy.rb: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rss/rss.rb | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'lib/rss/rss.rb') diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb index 2b7a3111f..3a829d648 100644 --- a/lib/rss/rss.rb +++ b/lib/rss/rss.rb @@ -769,13 +769,20 @@ EOC __send__("#{prefix}#{tag_name}=", next_element) end end - - # not String class children. + def children - [] + rv = [] + self.class.models.each do |name, uri, occurs, getter| + value = __send__(getter) + next if value.nil? + value = [value] unless value.is_a?(Array) + value.each do |v| + rv << v if v.is_a?(Element) + end + end + rv end - # default #validate() argument. def _tags rv = [] self.class.models.each do |name, uri, occurs, getter| -- cgit