模块 Singleton::SingletonClassProperties
公共类方法
源代码
# File lib/singleton.rb, line 157 def self.extended(c) # extending an object with Singleton is a bad idea c.singleton_class.send(:undef_method, :extend_object) end
源代码
# File lib/singleton.rb, line 152 def self.included(c) # extending an object with Singleton is a bad idea c.undef_method :extend_object end
私有实例方法
源代码
# File lib/singleton.rb, line 172 def append_features(mod) # help out people counting on transitive mixins unless mod.instance_of?(Class) raise TypeError, "Inclusion of the OO-Singleton module in module #{mod}" end super end
调用父类方法
源代码
# File lib/singleton.rb, line 180 def included(klass) super klass.private_class_method :new, :allocate klass.extend module_with_class_methods Singleton.__init__(klass) end
调用父类方法