module Smith::ObjectCount
Public Instance Methods
object_count(threshold=10)
click to toggle source
# File lib/smith/object_count.rb, line 5 def object_count(threshold=10) objects = ObjectSpace.each_object.inject(Hash.new(0)) do |a,o| a.tap {|acc| acc[o.class.to_s] += 1} end.sort {|(_,a),(_,b)| b <=> a} max_table_width = objects.first[1].to_s.length + 3 objects.inject([]) do |a,(clazz,count)| a.tap {|acc| acc << "%-#{max_table_width}s%s" % [count,clazz] if count > threshold} end end