Class: ObjectTracer::Trackers::MutationTracker

Inherits:
ObjectTracer
  • Object
show all
Defined in:
lib/object_tracer/trackers/mutation_tracker.rb

Constant Summary

Constants inherited from ObjectTracer

CALLER_START_POINT, C_CALLER_START_POINT, VERSION

Instance Attribute Summary

Attributes inherited from ObjectTracer

#calls, #options, #target, #trace_point

Instance Method Summary collapse

Methods inherited from ObjectTracer

config, #create_child_device, #descendants, #root_device, #set_block, #stop_when, #with

Methods included from Manageable

#delete_device, #devices, #reset!, #stop_all!, #suspend_new, #suspend_new!

Methods included from Output::Helpers

#and_output, #and_print, #and_write

Constructor Details

#initialize(options, &block) ⇒ MutationTracker

Returns a new instance of MutationTracker.



4
5
6
7
8
# File 'lib/object_tracer/trackers/mutation_tracker.rb', line 4

def initialize(options, &block)
  options[:hijack_attr_methods] = true
  super
  @snapshot_stack = []
end

Instance Method Details

#stop!Object



16
17
18
19
# File 'lib/object_tracer/trackers/mutation_tracker.rb', line 16

def stop!
  super
  @ivar_snapshot_trace_point.disable
end

#track(object) ⇒ Object



10
11
12
13
14
# File 'lib/object_tracer/trackers/mutation_tracker.rb', line 10

def track(object)
  super
  insert_snapshot_taking_trace_point
  self
end