我已将一些文件夹(lib、spec、cell 等)添加到我的 Rails 应用程序中,并希望将它们添加到 rake stats 列表中。是否可以添加新文件夹?
问问题
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 任务的位置。
有了这个提示,发现rake stats
任务是在gems/railties-3.2.11/lib/rails/tasks/statistics.rake
文件中定义的;所以它在railties gem
哪个是rails 存储库的一部分。
在文件的最顶部,要考虑的目录包含在STATS_DIRECTORIES
变量中。
可能最好使用相同的代码实现自定义 rake 任务(例如命名my_stats
),并添加要包含的新文件夹。
于 2013-02-06T02:42:10.787 回答
2
我发现在列表中的合理位置插入新统计信息很有用。
这是我正在使用的(使用 rails 5.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 回答