summaryrefslogtreecommitdiff
path: root/lib/rss/maker/1.0.rb
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-28 06:53:41 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-28 06:53:41 +0000
commitb684f87574166a42d3305c005896bf2aa7cd37b3 (patch)
tree3c0083d0e120e624822a05df86762d20e1ac2dbc /lib/rss/maker/1.0.rb
parent49d454ea2e2dc1d447b2dc290b6ea361ad18f979 (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.rb43
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