Module: PryObjects

Defined in:
lib/pry-objects.rb,
lib/pry-objects/version.rb

Constant Summary collapse

VERSION =
'0.1.0'

Class Method Summary collapse

Class Method Details

.call(filter) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/pry-objects.rb', line 5

def self.call(filter)
  GC.disable
  enum = ObjectSpace.each_object(filter)
  before = enum.entries
  yield rescue nil
  after = enum.entries
  GC.enable

  hash = {}
  after.each { |each| hash[each.object_id] = each }
  before.each { |each| hash.delete(each.object_id) }
  hash.delete(after.object_id)
  hash.delete(before.object_id)
  hash.values
end