From 9aba971e42c78bb9e446f28c0402bad55147a863 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Sun, 7 Jul 2019 17:58:25 -0700 Subject: Make Object#singleton_methods work correctly for singleton classes of objects Fixes [Bug #10901] --- class.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'class.c') diff --git a/class.c b/class.c index a8d21f9443..243f8c4610 100644 --- a/class.c +++ b/class.c @@ -1447,6 +1447,9 @@ rb_obj_singleton_methods(int argc, const VALUE *argv, VALUE obj) int recur = TRUE; if (rb_check_arity(argc, 0, 1)) recur = RTEST(argv[0]); + if (RB_TYPE_P(obj, T_CLASS) && FL_TEST(obj, FL_SINGLETON)) { + rb_singleton_class(obj); + } klass = CLASS_OF(obj); origin = RCLASS_ORIGIN(klass); me_arg.list = st_init_numtable(); -- cgit v1.2.3