summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-10 12:37:25 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-10 12:37:25 +0000
commit14df5ba882e1dd411da0beb7d3cc2fdf8e5fb7a8 (patch)
tree1fdcc181d54ec56ef2073a44cf8a8d2db0c6b870
parentedf6ed2ba9806f83b8058d6daa3997a8f66232fc (diff)
* lib/rss/maker.rb (RSS::Maker.[]): add.
Suggested by Akinori MUSHA. Thanks!!! [ruby-dev:37210] * NEWS: add an entry for the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--NEWS3
-rw-r--r--lib/rss/maker.rb17
3 files changed, 22 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 07c743883d..9eb2302b46 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Wed Dec 10 21:35:12 2008 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/maker.rb (RSS::Maker.[]): add.
+ Suggested by Akinori MUSHA. Thanks!!! [ruby-dev:37210]
+
+ * NEWS: add an entry for the above change.
+
Wed Dec 10 12:51:14 2008 Akinori MUSHA <knu@iDaemons.org>
* enumerator.c (enumerator_next): Fix a typo: s/rewinded/rewound/.
diff --git a/NEWS b/NEWS
index 481f0413da..cd721ed5c6 100644
--- a/NEWS
+++ b/NEWS
@@ -88,6 +88,9 @@ with all sufficient information, see the ChangeLog file.
* raise an exception not returns nil for invalid feed making.
* requires block.
+ * RSS::Maker.[]
+ * new method to return maker class.
+
* REXML
* REXML::Document.entity_expansion_limit=
diff --git a/lib/rss/maker.rb b/lib/rss/maker.rb
index bcba1aaff3..ff32f5cb00 100644
--- a/lib/rss/maker.rb
+++ b/lib/rss/maker.rb
@@ -6,13 +6,14 @@ module RSS
class << self
def make(version, &block)
- m = maker(version)
- raise UnsupportedMakerVersionError.new(version) if m.nil?
- m[:maker].make(m[:version], &block)
+ maker_info = self[version]
+ maker_info[:maker].make(maker_info[:version], &block)
end
- def maker(version)
- MAKERS[version]
+ def [](version)
+ maker_info = maker(version)
+ raise UnsupportedMakerVersionError.new(version) if maker_info.nil?
+ maker_info
end
def add_maker(version, normalized_version, maker)
@@ -26,6 +27,12 @@ module RSS
def makers
MAKERS.values.collect {|info| info[:maker]}.uniq
end
+
+ private
+ # Can I remove this method?
+ def maker(version)
+ MAKERS[version]
+ end
end
end
end