2016-10-07 4 views
2

私は以下のサブクラスのリストを収集する方法を持っています。さまざまな理由から私は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の疑いがあるが、それでも何が遅れているのか知りたい。

ありがとうございます!

答えて

0

これは、クラスFairPlay::TLLV::ProtocolVersionsSupportedのオブジェクトのeigenclassです。問題のオブジェクトのIDは0x00000003566730/2です。

あなたはそのようなインスタンスでメソッドを定義しようとしていますか/あなたはそれを嘲笑していますか?あなたがこのクラス/オブジェクトが何であるか分かっていない、あるいはわからない場合は、実行時にそれを追跡することをお勧めします。

ほとんどの場合、rspecと関係がありますが、多くのことが起こる可能性があります。 Rubyのバージョンはそうではありません。

関連する問題