box-o-sand/oldstuff/why/metaid/metaid.rb

20 lines
309 B
Ruby
Raw Normal View History

class Object
def metaclass
class << self
self
end
end
def meta_eval(&block)
metaclass.instance_eval(&block)
end
def meta_def(name, &block)
meta_eval { define_method(name, &block) }
end
def class_def(name, &block)
class_eval { define_method(name, &block) }
end
end