다음과 같은 방법으로 하위 클래스 목록을 수집 할 수 있습니다. 여러 가지 이유로 ActiveSupport DescendantsTracker
을 사용할 수 없습니다. (하지만 관련되지 않을 수 있습니다) 2.3.1 루비하는 업그레이드와Ruby 2.3.1의 하위 클래스 나열
def self.descendants
unless @subclasses
@subclasses = []
ObjectSpace.each_object(Class) do |subclass|
if subclass < self # && other conditions
@subclasses << subclass.to_s.split('::').last
end
end
end
@subclasses
end
이 목록은 간헐적으로이
"#<Class:#<FairPlay::TLLV::ProtocolVersionsSupported:0x00000003566730>>"
첫 번째 질문처럼, 전에 보지 값이 아닌 포함하기 시작 것 이것이 무엇을 나타내는가? 나는 포인터가 시작하는 것에 대해 감사 할 것입니다.
간헐성 - 이것은 테스트 (RSpec)와 테스트 케이스가 별도로 실행되지 않는 경우에만 나타납니다. 그래서 나는 RSpec을 의심하지만 여전히 뒤에 무엇이 있는지 알고 싶다.
감사합니다.