/tools/drillbit/Resources/tests/ruby/markaby/lib/markaby/metaid.rb
Ruby | 16 lines | 10 code | 2 blank | 4 comment | 0 complexity | c0f6bc9ab1c5d6d4fa9de2b11fbf82a4 MD5 | raw file
Possible License(s): Apache-2.0
- # metaprogramming assistant -- metaid.rb
- class Object
- # The hidden singleton lurks behind everyone
- def metaclass; class << self; self; end; end
- def meta_eval &blk; metaclass.instance_eval &blk; end
-
- # Adds methods to a metaclass
- def meta_def name, &blk
- meta_eval { define_method name, &blk }
- end
-
- # Defines an instance method within a class
- def class_def name, &blk
- class_eval { define_method name, &blk }
- end
- end