123456789_123456789_123456789_123456789_123456789_

Class: Singleton::Singleton

Do not use. This class is for internal use only.
Relationships & Source Files
Inherits: Object
Defined in: lib/singleton.rb

Class Method Summary

Class Method Details

.__init__(klass)

[ GitHub ]

  
# File 'lib/singleton.rb', line 136

def __init__(klass) # :nodoc:
  klass.instance_eval {
    @singleton__instance__ = nil
    @singleton__mutex__ = Thread::Mutex.new
  }
  klass
end

.append_features(mod) (private)

[ GitHub ]

  
# File 'lib/singleton.rb', line 149

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) (private)

[ GitHub ]

  
# File 'lib/singleton.rb', line 157

def included(klass)
  super
  klass.private_class_method :new, :allocate
  klass.extend SingletonClassMethods
  Singleton.__init__(klass)
end