diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-06-20 12:20:13 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-06-20 12:20:13 +0000 |
commit | 7625cd5cfb3ea4609db79a1ee959f7186fa8b535 (patch) | |
tree | 143100697def896d9ea0e6aff3264c5adfb34b54 /lib/rss/rss.rb | |
parent | df1e494a136dc507b36e90edbaffdeb611ab8923 (diff) |
* 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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rss/rss.rb')
-rw-r--r-- | lib/rss/rss.rb | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb index 2b7a3111fa..3a829d6488 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| |