diff options
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| |