Class: Hash
- Defined in:
- lib/coaster/core_ext/hash.rb,
lib/coaster/core_ext/memory_size.rb
Instance Method Summary collapse
Instance Method Details
#_memory_size_total ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/coaster/core_ext/memory_size.rb', line 74 def _memory_size_total sum = 0 each do |k, v| case v when Hash, Array then sum += v._memory_size_total when nil then next else sum += v end end sum end |
#memory_size(depth: 2, object_ids: []) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/coaster/core_ext/memory_size.rb', line 62 def memory_size(depth: 2, object_ids: []) res = {nil => super} each do |k, v| if depth > 0 res[k] = [k.memory_size(depth: depth - 1, object_ids:), v.memory_size(depth: depth - 1, object_ids:)] else res[k] = k.memory_size_total(object_ids:) + v.memory_size_total(object_ids:) end end res end |