class Object def returning(value) yield(value) value end def __meta() class << self; self end end def meta_eval(&blk) __meta.instance_eval( &blk ) end def meta_def(name, &blk) meta_eval { define_method name, &blk } end def class_def name, &blk self.class.class_eval { define_method name, &blk } end def blank? if respond_to? :empty? then empty? elsif respond_to? :zero? then zero? else !self end end end