Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

improved code stats calculation, check on multiline comments and rewr…

…ite regexps according to a class naming convention
  • Loading branch information...
commit d78a7026fcd5eb0cd91e3da2a125ddfcf53e7a7a 1 parent a93ee92
@HeeL HeeL authored
Showing with 14 additions and 3 deletions.
  1. +14 −3 railties/lib/rails/code_statistics.rb
View
17 railties/lib/rails/code_statistics.rb
@@ -38,11 +38,22 @@ def calculate_directory_statistics(directory, pattern = /.*\.rb$/)
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
Please sign in to comment.
Something went wrong with that request. Please try again.