class Module2Class

Public Class Methods

convert(x) click to toggle source
# File lib/module2class.rb, line 2
def self.convert(x)
    (Object.const_get(x.name).instance_of?Class) ? var = Module.new : var = Class.new
    arr=self.instance_methods(true)
        (Object.const_get(x.name).instance_of?Class) ? (x.instance_methods(false).each{|meth|  var.send(:define_method,meth,&x.new.method(meth))}) : var.include(x) 
        x.singleton_methods(false).each{|meth|  var.send(:define_singleton_method,meth,&x.method(meth))}
        x.constants.each{|const|  var.const_set(const,x.const_get(const))}            
        Object.send(:remove_const,x.name)
        Object.const_set(x.name,binding.local_variable_get(:var))
end