[前][次][番号順一覧][スレッド一覧]

ruby-changes:9074

From: kou <ko1@a...>
Date: Wed, 10 Dec 2008 21:37:45 +0900 (JST)
Subject: [ruby-changes:9074] Ruby:r20611 (ruby_1_8): * lib/rss/maker.rb (RSS::Maker.[]): add.

kou	2008-12-10 21:37:25 +0900 (Wed, 10 Dec 2008)

  New Revision: 20611

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20611

  Log:
    * lib/rss/maker.rb (RSS::Maker.[]): add.
      Suggested by Akinori MUSHA. Thanks!!! [ruby-dev:37210]
    * NEWS: add an entry for the above change.

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/NEWS
    branches/ruby_1_8/lib/rss/maker.rb

Index: ruby_1_8/NEWS
===================================================================
--- ruby_1_8/NEWS	(revision 20610)
+++ ruby_1_8/NEWS	(revision 20611)
@@ -88,6 +88,9 @@
     * 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=
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 20610)
+++ ruby_1_8/ChangeLog	(revision 20611)
@@ -1,3 +1,10 @@
+Wed Dec 10 21:35:12 2008  Kouhei Sutou  <kou@c...>
+
+	* 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@i...>
 
 	* enumerator.c (enumerator_next): Fix a typo: s/rewinded/rewound/.
Index: ruby_1_8/lib/rss/maker.rb
===================================================================
--- ruby_1_8/lib/rss/maker.rb	(revision 20610)
+++ ruby_1_8/lib/rss/maker.rb	(revision 20611)
@@ -6,13 +6,14 @@
 
     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 @@
       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

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]