23 lines
		
	
	
		
			603 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			603 B
		
	
	
	
		
			Ruby
		
	
	
	
| namespace :metrics do
 | |
|   task :lines do
 | |
|     lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
 | |
|     for file_name in FileList['lib/**/*.rb']
 | |
|       f = File.open(file_name)
 | |
|       while line = f.gets
 | |
|         lines += 1
 | |
|         next if line =~ /^\s*$/
 | |
|         next if line =~ /^\s*#/
 | |
|         codelines += 1
 | |
|       end
 | |
|       puts "L: #{sprintf('%4d', lines)}, " +
 | |
|         "LOC #{sprintf('%4d', codelines)} | #{file_name}"
 | |
|       total_lines     += lines
 | |
|       total_codelines += codelines
 | |
| 
 | |
|       lines, codelines = 0, 0
 | |
|     end
 | |
| 
 | |
|     puts "Total: Lines #{total_lines}, LOC #{total_codelines}"
 | |
|   end
 | |
| end
 |