class FlogGauntlet
def score_for dir
def score_for dir # files = `find #{dir} -name \\*.rb | grep -v gen.*templ`.split(/\n/) files = Dir["**/*.rb"].reject { |f| f =~ /gen.*templ|gemspec.rb/ } flogger = Flog.new flogger.flog_files files methods = flogger.totals.reject { |k,v| k =~ /\#none$/ } n = 20 topN = Hash[*methods.sort_by { |k,v| -v }.first(n).flatten] { :max => methods.values.max, :total => flogger.total_score, :size => methods.size, :average => flogger.average, :stddev => flogger.stddev, :methods => topN, } rescue SyntaxError => e warn e.inspect + " at " + e.backtrace.first(5).join(', ') if $v $syntax_error.dup rescue => e warn e.inspect + " at " + e.backtrace.first(5).join(', ') if $v $misc_error.dup end