Sha256: d474baa445d6aac4b8b0ae0a326e9ca8322de677bb04fe5ff173cdbda76beeb3

Contents?: true

Size: 849 Bytes

Versions: 14

Compression:

Stored size: 849 Bytes

Contents

    
desc 'lines and words count of real ruby code ( no empty lines or comments )'
task :stats do
    pattern = Regexp.new("^\s*(?:#.*)?$")
#    count_proc = Proc.new do |path|
#        Dir[path].collect { |f| File.open(f).readlines.reject { |l| l =~ pattern }.size }.inject(0) { |sum,n| sum+=n }
#    end
    stat_proc = Proc.new do |files,name|
        lines=0
        words=0
        files.each { |fn| open(fn){ |f| f.each{ |line|
            begin
                lines += 1
                words += line.split(' ').size
            end if not pattern.match(line)
        } } }
        puts "#{ format('%10s',name)} => #{format('%7d',lines)} code lines, #{format('%7d',words)} words."
    end
    stat_proc.call BIN_FILES, 'bin'
    stat_proc.call LIB_FILES, 'lib'
    stat_proc.call TEST_FILES, 'test'
    stat_proc.call EXT_FILES, 'ext'

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
taskjuggler-0.2.1 tasks/stats.rake
taskjuggler-0.2.0 tasks/stats.rake
taskjuggler-0.1.1 tasks/stats.rake
taskjuggler-0.1.0 tasks/stats.rake
taskjuggler-0.0.11 tasks/stats.rake
taskjuggler-0.0.10 tasks/stats.rake
taskjuggler-0.0.9 tasks/stats.rake
taskjuggler-0.0.8 tasks/stats.rake
taskjuggler-0.0.7 tasks/stats.rake
taskjuggler-0.0.6 tasks/stats.rake
taskjuggler-0.0.5 tasks/stats.rake
taskjuggler-0.0.4 tasks/stats.rake
taskjuggler-0.0.3 tasks/stats.rake
taskjuggler-0.0.2 tasks/stats.rake