提交 5752b313 编写于 作者: R Rafael Mendonça França

Merge pull request #6566 from arunagw/add-javascripts-to-rake-stats-task

Add code statistics for Javascript and CoffeeScript files
......@@ -26,7 +26,7 @@ def calculate_statistics
Hash[@pairs.map{|pair| [pair.first, calculate_directory_statistics(pair.last)]}]
end
def calculate_directory_statistics(directory, pattern = /.*\.rb$/)
def calculate_directory_statistics(directory, pattern = /.*\.(rb|js|coffee)$/)
stats = { "lines" => 0, "codelines" => 0, "classes" => 0, "methods" => 0 }
Dir.foreach(directory) do |file_name|
......@@ -39,6 +39,13 @@ def calculate_directory_statistics(directory, pattern = /.*\.rb$/)
comment_started = false
case file_name
when /.*\.js$/
comment_pattern = /^\s*\/\//
else
comment_pattern = /^\s*#/
end
File.open(directory + "/" + file_name) do |f|
while line = f.gets
stats["lines"] += 1
......@@ -55,7 +62,7 @@ def calculate_directory_statistics(directory, pattern = /.*\.rb$/)
end
stats["classes"] += 1 if line =~ /^\s*class\s+[_A-Z]/
stats["methods"] += 1 if line =~ /^\s*def\s+[_a-z]/
stats["codelines"] += 1 unless line =~ /^\s*$/ || line =~ /^\s*#/
stats["codelines"] += 1 unless line =~ /^\s*$/ || line =~ comment_pattern
end
end
end
......
......@@ -3,6 +3,7 @@ STATS_DIRECTORIES = [
%w(Helpers app/helpers),
%w(Models app/models),
%w(Mailers app/mailers),
%w(Javascripts app/assets/javascripts),
%w(Libraries lib/),
%w(APIs app/apis),
%w(Integration\ tests test/integration),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册