Class: Array

Inherits:
Object show all
Defined in:
lib/coaster/core_ext/array.rb,
lib/coaster/core_ext/memory_size.rb

Instance Method Summary collapse

Instance Method Details

#_memory_size_totalObject



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