Encapsulate rake lines from ActiveRecord/ActionPack as CodeTools::LineStatistics
[ci skip]
This commit is contained in:
parent
3cbeb8d8ea
commit
91d199259b
|
@ -40,27 +40,9 @@ task :release => :package do
|
||||||
end
|
end
|
||||||
|
|
||||||
task :lines do
|
task :lines do
|
||||||
lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
|
load File.expand_path('..', File.dirname(__FILE__)) + '/tools/line_statistics'
|
||||||
|
files = FileList["lib/**/*.rb"]
|
||||||
FileList["lib/**/*.rb"].each do |file_name|
|
CodeTools::LineStatistics.new(files).print_loc
|
||||||
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
|
end
|
||||||
|
|
||||||
rule '.rb' => '.y' do |t|
|
rule '.rb' => '.y' do |t|
|
||||||
|
|
|
@ -146,27 +146,9 @@ task :drop_postgresql_databases => 'db:postgresql:drop'
|
||||||
task :rebuild_postgresql_databases => 'db:postgresql:rebuild'
|
task :rebuild_postgresql_databases => 'db:postgresql:rebuild'
|
||||||
|
|
||||||
task :lines do
|
task :lines do
|
||||||
lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
|
load File.expand_path('..', File.dirname(__FILE__)) + '/tools/line_statistics'
|
||||||
|
files = FileList["lib/active_record/**/*.rb"]
|
||||||
FileList["lib/active_record/**/*.rb"].each do |file_name|
|
CodeTools::LineStatistics.new(files).print_loc
|
||||||
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
|
end
|
||||||
|
|
||||||
spec = eval(File.read('activerecord.gemspec'))
|
spec = eval(File.read('activerecord.gemspec'))
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
# Example:
|
||||||
|
# files = FileList["lib/active_record/**/*.rb"]
|
||||||
|
# CodeTools::LineStatistics.new(files).print_loc
|
||||||
|
module CodeTools
|
||||||
|
class LineStatistics
|
||||||
|
|
||||||
|
# @param files [Array, FileList, Enumerable]
|
||||||
|
# e.g. FileList["lib/active_record/**/*.rb"]
|
||||||
|
def initialize(files)
|
||||||
|
@files = Array(files).compact
|
||||||
|
end
|
||||||
|
|
||||||
|
# Calculates LOC for each file
|
||||||
|
# Outputs each file and a total LOC
|
||||||
|
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
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue