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