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 | |
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')
-rw-r--r-- | lib/rss/0.9.rb | 22 | ||||
-rw-r--r-- | lib/rss/1.0.rb | 24 | ||||
-rw-r--r-- | lib/rss/2.0.rb | 11 | ||||
-rw-r--r-- | lib/rss/rss.rb | 15 | ||||
-rw-r--r-- | lib/rss/taxonomy.rb | 10 |
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 |