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

ruby-changes:5164

From: nobu <ko1@a...>
Date: Wed, 28 May 2008 15:20:07 +0900 (JST)
Subject: [ruby-changes:5164] Ruby:r16659 (ruby_1_8, trunk): * lib/singleton.rb (SingletonClassMethods): _load should be public.

nobu	2008-05-28 15:18:18 +0900 (Wed, 28 May 2008)

  New Revision: 16659

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/lib/singleton.rb
    trunk/ChangeLog
    trunk/lib/singleton.rb

  Log:
    * lib/singleton.rb (SingletonClassMethods): _load should be public.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/lib/singleton.rb?r1=16659&r2=16658&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/singleton.rb?r1=16659&r2=16658&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16659&r2=16658&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16659&r2=16658&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 16658)
+++ ChangeLog	(revision 16659)
@@ -1,3 +1,7 @@
+Wed May 28 15:18:16 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* lib/singleton.rb (SingletonClassMethods): _load should be public.
+
 Wed May 28 13:30:43 2008  NARUSE, Yui  <naruse@r...>
 
 	* enc/trans/japanese.c: add workarround for Unicode to CP932.
Index: lib/singleton.rb
===================================================================
--- lib/singleton.rb	(revision 16658)
+++ lib/singleton.rb	(revision 16659)
@@ -30,7 +30,7 @@
 # *  Klass.new and Klass.allocate - as private
 #
 # Providing (or modifying) the class methods
-# *  Klass.inherited(sub_klass) and Klass.clone()  - 
+# *  Klass.inherited(sub_klass) and Klass.clone()  -
 #    to ensure that the Singleton pattern is properly
 #    inherited and cloned.
 #
@@ -70,32 +70,32 @@
   def dup
     raise TypeError, "can't dup instance of singleton #{self.class}"
   end
-  
-  private 
 
+  private
+
   #  default marshalling strategy
-  def _dump(depth = -1) 
+  def _dump(depth = -1)
     ''
   end
 
-  module SingletonClassMethods  
+  module SingletonClassMethods
     # properly clone the Singleton pattern - did you know
-    # that duping doesn't copy class methods?  
+    # that duping doesn't copy class methods?
     def clone
       Singleton.__init__(super)
     end
 
+    def _load(str)
+      instance
+    end
+
     private
-    
-    #  ensure that the Singleton pattern is properly inherited   
+
+    #  ensure that the Singleton pattern is properly inherited
     def inherited(sub_klass)
       super
       Singleton.__init__(sub_klass)
     end
-    
-    def _load(str) 
-      instance 
-    end
   end
 
   class << Singleton
@@ -114,12 +114,12 @@
       end
       klass
     end
-    
+
     private
 
     #  extending an object with Singleton is a bad idea
     undef_method :extend_object
-    
+
     def append_features(mod)
       #  help out people counting on transitive mixins
       unless mod.instance_of?(Class)
@@ -127,7 +127,7 @@
       end
       super
     end
-    
+
     def included(klass)
       super
       klass.private_class_method  :new, :allocate
@@ -135,7 +135,7 @@
       Singleton.__init__(klass)
     end
   end
-  
+
 end
 
 
@@ -143,14 +143,14 @@
 
 def num_of_instances(klass)
     "#{ObjectSpace.each_object(klass){}} #{klass} instance(s)"
-end 
+end
 
 # The basic and most important example.
 
 class SomeSingletonClass
   include Singleton
 end
-puts "There are #{num_of_instances(SomeSingletonClass)}" 
+puts "There are #{num_of_instances(SomeSingletonClass)}"
 
 a = SomeSingletonClass.instance
 b = SomeSingletonClass.instance # a and b are same object
@@ -173,23 +173,23 @@
     puts "initialize called by thread ##{Thread.current[:i]}"
   end
 end
-  
+
 class << Ups
   def _instantiate?
     @enter.push Thread.current[:i]
     while false.equal?(@singleton__instance__)
       @singleton__mutex__.unlock
-      sleep 0.08 
+      sleep 0.08
       @singleton__mutex__.lock
     end
     @leave.push Thread.current[:i]
     @singleton__instance__
   end
-  
+
   def __sleep
     sleep(rand(0.08))
   end
-  
+
   def new
     begin
       __sleep
@@ -201,12 +201,12 @@
       end
     end
   end
-  
+
   def instantiate_all
     @enter = []
     @leave = []
-    1.upto(9) {|i|  
-      Thread.new { 
+    1.upto(9) {|i|
+      Thread.new {
         begin
           Thread.current[:i] = i
           __sleep
@@ -296,7 +296,7 @@
 class Down < Middle; end
 
 puts  "and basic \"Down test\" is #{Down.instance == Down.instance}\n
-Various exceptions"  
+Various exceptions"
 
 begin
   module AModule
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 16658)
+++ ruby_1_8/ChangeLog	(revision 16659)
@@ -1,3 +1,7 @@
+Wed May 28 15:18:16 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* lib/singleton.rb (SingletonClassMethods): _load should be public.
+
 Wed May 28 12:52:41 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* marshal.c (w_object, marshal_dump, r_object0, marshal_load): search
Index: ruby_1_8/lib/singleton.rb
===================================================================
--- ruby_1_8/lib/singleton.rb	(revision 16658)
+++ ruby_1_8/lib/singleton.rb	(revision 16659)
@@ -30,7 +30,7 @@
 # *  Klass.new and Klass.allocate - as private
 #
 # Providing (or modifying) the class methods
-# *  Klass.inherited(sub_klass) and Klass.clone()  - 
+# *  Klass.inherited(sub_klass) and Klass.clone()  -
 #    to ensure that the Singleton pattern is properly
 #    inherited and cloned.
 #
@@ -70,10 +70,10 @@
   def dup
     raise TypeError, "can't dup instance of singleton #{self.class}"
   end
-  
-  private 
+
+  private
   #  default marshalling strategy
-  def _dump(depth=-1) 
+  def _dump(depth=-1)
     ''
   end
 end
@@ -104,7 +104,7 @@
         end
       end
     elsif  _instantiate?()
-      Thread.critical = false    
+      Thread.critical = false
     else
       @__instance__  = false
       Thread.critical = false
@@ -123,26 +123,26 @@
     end
     @__instance__
   end
-  
-  module SingletonClassMethods  
+
+  module SingletonClassMethods
     # properly clone the Singleton pattern - did you know
-    # that duping doesn't copy class methods?  
+    # that duping doesn't copy class methods?
     def clone
       Singleton.__init__(super)
     end
-    
+
+    def _load(str)
+      instance
+    end
+
     private
-    
-    #  ensure that the Singleton pattern is properly inherited   
+
+    #  ensure that the Singleton pattern is properly inherited
     def inherited(sub_klass)
       super
       Singleton.__init__(sub_klass)
     end
-    
-    def _load(str) 
-      instance 
-    end
-    
+
     # waiting-loop hook
     def _instantiate?()
       while false.equal?(@__instance__)
@@ -153,7 +153,7 @@
       @__instance__
     end
   end
-  
+
   def __init__(klass)
     klass.instance_eval { @__instance__ = nil }
     class << klass
@@ -161,11 +161,11 @@
     end
     klass
   end
-  
+
   private
   #  extending an object with Singleton is a bad idea
   undef_method :extend_object
-  
+
   def append_features(mod)
     #  help out people counting on transitive mixins
     unless mod.instance_of?(Class)
@@ -173,7 +173,7 @@
     end
     super
   end
-  
+
   def included(klass)
     super
     klass.private_class_method  :new, :allocate
@@ -181,21 +181,21 @@
     Singleton.__init__(klass)
   end
 end
- 
 
 
+
 if __FILE__ == $0
 
 def num_of_instances(klass)
     "#{ObjectSpace.each_object(klass){}} #{klass} instance(s)"
-end 
+end
 
 # The basic and most important example.
 
 class SomeSingletonClass
   include Singleton
 end
-puts "There are #{num_of_instances(SomeSingletonClass)}" 
+puts "There are #{num_of_instances(SomeSingletonClass)}"
 
 a = SomeSingletonClass.instance
 b = SomeSingletonClass.instance # a and b are same object
@@ -218,23 +218,23 @@
     puts "initialize called by thread ##{Thread.current[:i]}"
   end
 end
-  
+
 class << Ups
   def _instantiate?
     @enter.push Thread.current[:i]
     while false.equal?(@__instance__)
       Thread.critical = false
-      sleep 0.08 
+      sleep 0.08
       Thread.critical = true
     end
     @leave.push Thread.current[:i]
     @__instance__
   end
-  
+
   def __sleep
     sleep(rand(0.08))
   end
-  
+
   def new
     begin
       __sleep
@@ -246,12 +246,12 @@
       end
     end
   end
-  
+
   def instantiate_all
     @enter = []
     @leave = []
-    1.upto(9) {|i|  
-      Thread.new { 
+    1.upto(9) {|i|
+      Thread.new {
         begin
           Thread.current[:i] = i
           __sleep
@@ -341,7 +341,7 @@
 class Down < Middle; end
 
 puts  "and basic \"Down test\" is #{Down.instance == Down.instance}\n
-Various exceptions"  
+Various exceptions"
 
 begin
   module AModule

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

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