Module: ObjectSize

Defined in:
lib/ssl-test/object_size.rb

Class Method Summary collapse

Class Method Details

.size(obj) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/ssl-test/object_size.rb', line 4

def self.size(obj)
  case obj
  when String
    obj.bytesize
  when Integer
    obj.size
  when Hash
    sum = 0
    obj.each do |key, val|
      sum += size(key)
      sum += size(val)
    end
    sum
  when Array
    obj.reduce(0) do |sum, val|
      sum + size(val)
    end
  else
    ObjectSpace.memsize_of(obj)
  end
end