diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-28 06:53:41 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-28 06:53:41 +0000 |
commit | b684f87574166a42d3305c005896bf2aa7cd37b3 (patch) | |
tree | 3c0083d0e120e624822a05df86762d20e1ac2dbc /lib/rss/maker/1.0.rb | |
parent | 49d454ea2e2dc1d447b2dc290b6ea361ad18f979 (diff) |
* lib/rss/rss.rb (RSS::NotSetError): added.
* lib/rss/maker/{1.0,0.9,2.0}.rb: changed RSS Maker to raise
RSS::NotSetError if required values of maker.channel are not
set.
* test/rss/test_maker_{1.0,0.9,2.0}.rb: changed tests to check RSS
Maker raises or not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rss/maker/1.0.rb')
-rw-r--r-- | lib/rss/maker/1.0.rb | 43 |
1 files changed, 16 insertions, 27 deletions
diff --git a/lib/rss/maker/1.0.rb b/lib/rss/maker/1.0.rb index ae22eb4fc4..e38a2f89e0 100644 --- a/lib/rss/maker/1.0.rb +++ b/lib/rss/maker/1.0.rb @@ -11,41 +11,22 @@ module RSS super("1.0") end - def to_rss - rss = RDF.new(@version, @encoding, @standalone) - setup_xml_stylesheets(rss) + private + def make_rss + RDF.new(@version, @encoding, @standalone) + end + + def setup_elements(rss) setup_channel(rss) setup_image(rss) setup_items(rss) setup_textinput(rss) - setup_other_elements(rss) - if rss.channel - rss - else - nil - end - end - - private - def setup_channel(rss) - @channel.to_rss(rss) - end - - def setup_image(rss) - @image.to_rss(rss) - end - - def setup_items(rss) - @items.to_rss(rss) - end - - def setup_textinput(rss) - @textinput.to_rss(rss) end class Channel < ChannelBase def to_rss(rss) + set = false if @about channel = RDF::Channel.new(@about) set = setup_values(channel) @@ -57,12 +38,16 @@ module RSS setup_other_elements(rss) end end + + if (!@about or !set) and variable_is_set? + raise NotSetError.new("maker.channel", not_set_required_variables) + end end def have_required_values? @about and @title and @link and @description end - + private def setup_items(rss) items = RDF::Channel::Items.new @@ -86,6 +71,10 @@ module RSS end end + def required_variable_names + %w(about title link description) + end + class SkipDays < SkipDaysBase def to_rss(*args) end |