summaryrefslogtreecommitdiff
path: root/lib/rss
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-20 12:20:13 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-20 12:20:13 +0000
commit7625cd5cfb3ea4609db79a1ee959f7186fa8b535 (patch)
tree143100697def896d9ea0e6aff3264c5adfb34b54 /lib/rss
parentdf1e494a136dc507b36e90edbaffdeb611ab8923 (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')
-rw-r--r--lib/rss/0.9.rb22
-rw-r--r--lib/rss/1.0.rb24
-rw-r--r--lib/rss/2.0.rb11
-rw-r--r--lib/rss/rss.rb15
-rw-r--r--lib/rss/taxonomy.rb10
5 files changed, 11 insertions, 71 deletions
diff --git a/lib/rss/0.9.rb b/lib/rss/0.9.rb
index 4007391f98..eb2d828102 100644
--- a/lib/rss/0.9.rb
+++ b/lib/rss/0.9.rb
@@ -61,10 +61,6 @@ module RSS
end
private
- def children
- [@channel]
- end
-
def _attrs
[
["version", true, "rss_version"],
@@ -100,10 +96,6 @@ module RSS
alias date= pubDate=
private
- def children
- [@skipDays, @skipHours, @image, @textInput, @cloud, *@item]
- end
-
def maker_target(maker)
maker.channel
end
@@ -137,11 +129,6 @@ module RSS
install_have_children_element(name, "", occurs)
end
- private
- def children
- @day
- end
-
class Day < Element
include RSS09
@@ -169,11 +156,6 @@ module RSS
install_have_children_element(name, "", occurs)
end
- private
- def children
- @hour
- end
-
class Hour < Element
include RSS09
@@ -270,10 +252,6 @@ module RSS
end
private
- def children
- [@source, @enclosure, *@category].compact
- end
-
def maker_target(items)
if items.respond_to?("items")
# For backward compatibility
diff --git a/lib/rss/1.0.rb b/lib/rss/1.0.rb
index 03d118a444..a945434fbf 100644
--- a/lib/rss/1.0.rb
+++ b/lib/rss/1.0.rb
@@ -55,11 +55,6 @@ module RSS
tag_name_with_prefix(PREFIX)
end
- private
- def children
- [@channel, @image, @textinput, *@item]
- end
-
class Li < Element
include RSS10
@@ -125,11 +120,6 @@ module RSS
target << li.resource
end
end
-
- private
- def children
- @li
- end
end
class Bag < Element
@@ -167,11 +157,6 @@ module RSS
target << li.resource
end
end
-
- private
- def children
- @li
- end
end
class Channel < Element
@@ -214,10 +199,6 @@ module RSS
end
private
- def children
- [@image, @items, @textinput]
- end
-
def maker_target(maker)
maker.channel
end
@@ -320,11 +301,6 @@ module RSS
[]
end
end
-
- private
- def children
- [@Seq]
- end
end
end
diff --git a/lib/rss/2.0.rb b/lib/rss/2.0.rb
index 398aa0845a..44bdb4f1ae 100644
--- a/lib/rss/2.0.rb
+++ b/lib/rss/2.0.rb
@@ -26,12 +26,6 @@ module RSS
install_model(name, "", occurs)
end
- private
- alias children09 children
- def children
- children09 + @category.compact
- end
-
Category = Item::Category
class Item
@@ -58,11 +52,6 @@ module RSS
end
private
- alias children09 children
- def children
- children09 + [@guid].compact
- end
-
alias _setup_maker_element setup_maker_element
def setup_maker_element(item)
_setup_maker_element(item)
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|
diff --git a/lib/rss/taxonomy.rb b/lib/rss/taxonomy.rb
index 399857aedb..8caa25e2a4 100644
--- a/lib/rss/taxonomy.rb
+++ b/lib/rss/taxonomy.rb
@@ -82,11 +82,6 @@ module RSS
[]
end
end
-
- private
- def children
- [@Bag]
- end
end
end
@@ -137,11 +132,6 @@ module RSS
def maker_target(target)
target.new_taxo_topic
end
-
- private
- def children
- [@taxo_link, *@taxo_topics]
- end
end
end