diff options
author | Sergey Parizhskiy <parizhskiy@gmail.com> | 2011-11-23 14:10:30 +0200 |
---|---|---|
committer | Sergey Parizhskiy <parizhskiy@gmail.com> | 2011-11-23 14:10:30 +0200 |
commit | d78a7026fcd5eb0cd91e3da2a125ddfcf53e7a7a (patch) | |
tree | b5dbf12ec86b876be70ba10687314af55563d983 /railties/lib/rails | |
parent | a93ee92da2b9ba83e3a3fe0b8d4dd5cac2790f15 (diff) | |
download | rails-d78a7026fcd5eb0cd91e3da2a125ddfcf53e7a7a.tar.gz rails-d78a7026fcd5eb0cd91e3da2a125ddfcf53e7a7a.tar.bz2 rails-d78a7026fcd5eb0cd91e3da2a125ddfcf53e7a7a.zip |
improved code stats calculation, check on multiline comments and rewrite regexps according to a class naming convention
Diffstat (limited to 'railties/lib/rails')
-rw-r--r-- | railties/lib/rails/code_statistics.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/railties/lib/rails/code_statistics.rb b/railties/lib/rails/code_statistics.rb index e6822b75b7..435ea83ad8 100644 --- a/railties/lib/rails/code_statistics.rb +++ b/railties/lib/rails/code_statistics.rb @@ -38,11 +38,22 @@ class CodeStatistics #:nodoc: next unless file_name =~ pattern f = File.open(directory + "/" + file_name) - + comment_started = false while line = f.gets stats["lines"] += 1 - stats["classes"] += 1 if line =~ /class [A-Z]/ - stats["methods"] += 1 if line =~ /def [a-z]/ + if(comment_started) + if line =~ /^=end/ + comment_started = false + end + next + else + if line =~ /^=begin/ + comment_started = true + next + end + 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*#/ end end |