From: George Ogata Date: 2005-04-29T21:12:08+09:00 Subject: Re: determining when inside 'class << self' "Ara.T.Howard" writes: > i like a method like this > > def inside_metaclass? > # to be implemented > end > > class C > class << self > p inside_metaclass? #=> true > end > > p inside_metaclass? #=> false > end > > p inside_metaclass? #=> false > > class << [] > p inside_metaclass? #=> true > end > > can this be done? Is this cheating?: #include "ruby.h" VALUE metaclass_p(VALUE self) { if (FL_TEST(self, FL_SINGLETON)) return Qtrue; else return Qfalse; } void Init_test(void) { rb_define_method(rb_cClass, "metaclass?", metaclass_p, 0); }