Class: CodeMetrics::LineStatistics
- Inherits:
-
Object
- Object
- CodeMetrics::LineStatistics
- Defined in:
- lib/code_metrics/line_statistics.rb
Instance Method Summary collapse
-
#initialize(files) ⇒ LineStatistics
constructor
e.g.
-
#print_loc ⇒ Object
Calculates LOC for each file Outputs each file and a total LOC.
Constructor Details
#initialize(files) ⇒ LineStatistics
e.g. FileList[“lib/active_record/*/.rb”]
6 7 8 |
# File 'lib/code_metrics/line_statistics.rb', line 6 def initialize(files) @files = Array(files).compact end |
Instance Method Details
#print_loc ⇒ Object
Calculates LOC for each file Outputs each file and a total LOC
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/code_metrics/line_statistics.rb', line 12 def print_loc lines, codelines, total_lines, total_codelines = 0, 0, 0, 0 @files.each do |file_name| next if file_name =~ /vendor/ File.open(file_name, 'r') do |f| while line = f.gets lines += 1 next if line =~ /^\s*$/ next if line =~ /^\s*#/ codelines += 1 end 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 |