Railsアプリにいくつかのフォルダー(lib、spec、cellsなど)を追加しました。それらをrakestatsリストに追加したいと思います。新しいフォルダを追加することはできますか?
質問する
2925 次
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 に答える