模块 Singleton::SingletonClassProperties
公共类方法
extended(c) 点击切换源代码
# File 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
included(c) 点击切换源代码
# File singleton.rb, line 152 def self.included(c) # extending an object with Singleton is a bad idea c.undef_method :extend_object end
私有实例方法
append_features(mod) 点击切换源代码
调用超类方法
# File 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
included(klass) 点击切换源代码
调用超类方法
# File singleton.rb, line 180 def included(klass) super klass.private_class_method :new, :allocate klass.extend module_with_class_methods Singleton.__init__(klass) end