summaryrefslogtreecommitdiff
path: root/lib/rss/rss.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rss/rss.rb')
-rw-r--r--lib/rss/rss.rb15
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|