diff options
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -500,9 +500,17 @@ rb_mod_to_s(klass) { if (FL_TEST(klass, FL_SINGLETON)) { VALUE s = rb_str_new2("#<"); + VALUE v = rb_iv_get(klass, "__attached__"); rb_str_cat2(s, "Class:"); - rb_str_cat2(s, rb_class2name(klass)); + switch (TYPE(v)) { + case T_CLASS: case T_MODULE: + rb_str_append(s, rb_inspect(v)); + break; + default: + rb_str_append(s, rb_any_to_s(v)); + break; + } rb_str_cat2(s, ">"); return s; |