/tools/drillbit/Resources/tests/ruby/markaby/lib/markaby/metaid.rb
http://github.com/appcelerator/titanium_desktop · Ruby · 16 lines · 10 code · 2 blank · 4 comment · 0 complexity · c0f6bc9ab1c5d6d4fa9de2b11fbf82a4 MD5 · raw file
- # 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