From 14df5ba882e1dd411da0beb7d3cc2fdf8e5fb7a8 Mon Sep 17 00:00:00 2001 From: kou Date: Wed, 10 Dec 2008 12:37:25 +0000 Subject: * 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 --- ChangeLog | 7 +++++++ NEWS | 3 +++ lib/rss/maker.rb | 17 ++++++++++++----- 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 + + * 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 * 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 -- cgit v1.2.3