2011-07-01 5 views
2

どのツールがRubyの他のモジュールからメソッドを呼び出すメソッドを持つかを判断するツールはありますか?どのモジュールがRubyのどのモジュールに依存しているかをどのように検出できますか?

背景:私は途中で808ラインモジュールをより小さなモジュールに分割し、12サブモジュールを作成しました。しかし、モジュールの1つのメソッドの中には、別のサブモジュールのメソッドを呼び出すものがあります。これは、呼び出されたメソッドのモジュールが共通の機能を意図しているかどうかによって、正常である場合とそうでない場合があります。

module DisplayStatistics1 
    def display_statistics_1_foo 
    calculate_statistics_foo # call a method that's in CalculateStatistics - this is ok 
    display_statistics_2_bar # call a method that's in DisplayStatistics2 - this is bad 
    end 

    # other methods omitted 
end 

# modules DisplayStatistics2 and CalculateStatistics omitted 

class ExampleClass 
    include DisplayStatistics1 
    include DisplayStatistics2 
    include CalculateStatistics 
end 

理想的分析ツールはDisplayStatistics1DisplayStatistics2上だけでなく、CalculateStatisticsに依存していることを示します。

更新:おそらく私はこのようにしてはいけませんでした。多分、それらをクラスに分けたほうがいいでしょう。そうすれば、私は何が何に依存しているかを知っていただろう!

答えて

0

私はRubyの静的解析ツールに気づいていませんが、あなたが望むものに最も近いと思われるものはrubyprofです。これにより、HTMLツリーやGraphVizのボックスラインプロットなど、多くのフォーマットでコールグラフを生成することができます。

関連する問題