metaprogramming assistant -- metaid.rb
Defines an instance method within a class
# File lib/markaby/metaid.rb, line 13 def class_def name, &blk class_eval { define_method name, &blk } end
Adds methods to a metaclass
# File lib/markaby/metaid.rb, line 8 def meta_def name, &blk meta_eval { define_method name, &blk } end
# File lib/markaby/metaid.rb, line 5 def meta_eval &blk; metaclass.instance_eval &blk; end
The hidden singleton lurks behind everyone
# File lib/markaby/metaid.rb, line 4 def metaclass; class << self; self; end; end