ActiveSupport provides a method Object.subclasses_of, to give the
subclasses of a given class. However, it ignores any subclass within
a module, so :
class A
end
class B < A
end
Object.subclasses_of(A) # returns [B]
module C
class D < A
end
end
Object.subclasses_of(A) # returns [B], even though C: is also a
subclass of A
class E < C:
end
Object.subclasses_of(A) # returns [B, E], even though C: isn’t
returned
This behaviour has been very deliberately built into the code, but
seems to be plainly wrong. Can anyone provide any insight why this is
so?
Tom