8

Railsアプリにいくつかのフォルダー(lib、spec、cellsなど)を追加しました。それらをrakestatsリストに追加したいと思います。新しいフォルダを追加することはできますか?

4

3 に答える 3

14

パーティーに遅れていることは知っていますが、それ以上の情報が見つからなかったので、答えをミックスに追加しています。

次のような内容のrake-taskをプロジェクトに追加しました。

task :stats => "todolist:statsetup"

namespace :todolist do
  task :statsetup do
    require 'rails/code_statistics'
    ::STATS_DIRECTORIES << ["Policies", "app/policies"]
    ::STATS_DIRECTORIES << ["Services", "app/services"]

    # For test folders not defined in CodeStatistics::TEST_TYPES (ie: spec/)
    ::STATS_DIRECTORIES << ["Services specs", "specs/services"]
    CodeStatistics::TEST_TYPES << "Services specs"
  end
end

これにより、両方のフォルダが追加されましたrake stats

于 2013-08-25T14:02:12.383 に答える
7

これは、特定のレーキタスクが定義されている場所を見つけるための優れた答えです。

そのヒントで、rake statsタスクがgems/railties-3.2.11/lib/rails/tasks/statistics.rakeファイルで定義されていることがわかりました。したがって、これは、 railsリポジトリrailties gemの一部であるにあります。

ファイルの最上部では、考慮されるディレクトリがSTATS_DIRECTORIES変数に含まれています。

おそらく、同じコードでカスタムrakeタスク(たとえば名前my_statsを付けたもの)を実装し、含める新しいフォルダーを追加するのが最善です。

于 2013-02-06T02:42:10.787 に答える
2

リストの適切な位置に新しい統計を挿入すると便利だと思いました。

これが私が使っているものです(rails5.1で):

# lib/stats.rake

require "rails/code_statistics"

task stats: :more_stats

task :more_stats do
  %w[Forms Policies Presenters Serializers Services].each_with_index do |type, i|
    STATS_DIRECTORIES.insert i + 5, [type, "app/#{type.downcase}"]
    STATS_DIRECTORIES.insert i * 2 + 13, ["#{type} tests", "test/#{type.downcase}"]
    CodeStatistics::TEST_TYPES << "#{type} tests"
  end
end
于 2018-11-09T18:20:40.597 に答える