From 028e6396c043119448afce67ebf8f3aafc96e27e Mon Sep 17 00:00:00 2001 From: kou Date: Tue, 20 Jun 2006 11:50:52 +0000 Subject: * lib/rss/rss.rb: hide RSS::Element.install_model. (RSS::Element.install_have_child_element, RSS::Element.install_have_children_element, RSS::Element.install_text_element, RSS::Element.install_date_element): call RSS::Element.install_model internally. * lib/rss/0.9.rb: followed new API. * lib/rss/1.0.rb: ditto. * lib/rss/2.0.rb: ditto. * lib/rss/content.rb: ditto. * lib/rss/dublincore.rb: ditto. * lib/rss/image.rb: ditto. * lib/rss/syndication.rb: ditto. * lib/rss/taxonomy.rb: ditto. * lib/rss/trackback.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rss/rss.rb | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'lib/rss/rss.rb') diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb index a12a78bb0e..02cde9b36e 100644 --- a/lib/rss/rss.rb +++ b/lib/rss/rss.rb @@ -141,8 +141,10 @@ module RSS include Utils - def install_have_child_element(name) + def install_have_child_element(tag_name, uri, occurs, name=nil) + name ||= tag_name add_need_initialize_variable(name) + install_model(tag_name, uri, occurs) attr_accessor name install_element(name) do |n, elem_name| @@ -157,11 +159,13 @@ EOC end alias_method(:install_have_attribute_element, :install_have_child_element) - def install_have_children_element(name, plural_name=nil) + def install_have_children_element(tag_name, uri, occurs, name=nil, plural_name=nil) + name ||= tag_name plural_name ||= "#{name}s" add_have_children_element(name, plural_name) add_plural_form(name, plural_name) - + install_model(tag_name, uri, occurs) + def_children_accessor(name, plural_name) install_element(name, "s") do |n, elem_name| <<-EOC @@ -175,9 +179,12 @@ EOC end end - def install_text_element(name, type=nil, disp_name=name) + def install_text_element(tag_name, uri, occurs, name=nil, type=nil, disp_name=nil) + name ||= tag_name + disp_name ||= name self::ELEMENTS << name add_need_initialize_variable(name) + install_model(tag_name, uri, occurs) def_corresponded_attr_writer name, type, disp_name convert_attr_reader name @@ -200,9 +207,13 @@ EOC end end - def install_date_element(name, type, disp_name=name) + def install_date_element(tag_name, uri, occurs, name=nil, type=nil, disp_name=nil) + name ||= tag_name + type ||= :w3cdtf + disp_name ||= name self::ELEMENTS << name add_need_initialize_variable(name) + install_model(tag_name, uri, occurs) # accessor convert_attr_reader name -- cgit v1.2.3