def summarize
fst = @fa_files.first
vals = fst.instance_variables.map { |iv| iv[1..-1] }
vals = vals - ["file", "tl_ref"]
t_v = vals.map do |v|
res = fst.send(v)
if res.is_a?(Array)
p = Proc.new { |v| v.size }
else
p = Proc.new { |v| v.to_i }
end
[v, p]
end
res = Hash.new { |h,k| h[k] = [] }
@fa_files.each do |f|
t_v.each do |method, calc|
res[method]<< calc.call( f.send(method) )
end
end
base_sum = Hash.new(0)
res.sort.each do |key, val|
r = val.inject(0) { |t, v| t + v }
base_sum[key] = r
end
print_summary_header(base_sum)
extra_summary( [ ["static_methods", "static methods"],
["g_vars", "global variables"],
["c_vars", "class variables"],
["i_vars", "instance variables"],
["constants", "constants"],
["methods", "methods"],
["classes", "classes"],
["modules", "modules"],
["symbols", "symbols"],
["aliases", "aliases"],
["undefs", "undefs"]
] )
end