Class: Array
- Defined in:
- lib/coaster/core_ext/array.rb,
lib/coaster/core_ext/memory_size.rb
Instance Method Summary collapse
- #_memory_size_total ⇒ Object
- #memory_size(depth: 2, object_ids: []) ⇒ Object
- #toggle(value) ⇒ Object
Instance Method Details
#_memory_size_total ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/coaster/core_ext/memory_size.rb', line 48 def _memory_size_total sum = 0 each do |item| case item when Hash, Array then sum += item._memory_size_total when nil then next else sum += item end end sum end |
#memory_size(depth: 2, object_ids: []) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/coaster/core_ext/memory_size.rb', line 36 def memory_size(depth: 2, object_ids: []) res = {nil => super} each_with_index do |item, x| if depth > 0 res[x] = item.memory_size(depth: depth - 1, object_ids:) else res[x] = item.memory_size_total(object_ids:) end end res end |
#toggle(value) ⇒ Object
2 3 4 5 6 7 8 9 10 |
# File 'lib/coaster/core_ext/array.rb', line 2 def toggle(value) if include?(value) delete(value) false else self << value true end end |