Class: SetUp::BaseTraceSetUp

Inherits:
Object
  • Object
show all
Defined in:
lib/xray_method_tracer/set_up/base_trace_set_up.rb

Direct Known Subclasses

PureRubyTraceSetUp, RailsTraceSetUp

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_klasses, klasses, source_locations) ⇒ BaseTraceSetUp

Returns a new instance of BaseTraceSetUp.



11
12
13
14
15
# File 'lib/xray_method_tracer/set_up/base_trace_set_up.rb', line 11

def initialize(base_klasses, klasses, source_locations)
  @base_klasses = base_klasses
  @klasses = klasses
  @source_locations = source_locations
end

Instance Attribute Details

#base_klassesObject (readonly)

Returns the value of attribute base_klasses.



9
10
11
# File 'lib/xray_method_tracer/set_up/base_trace_set_up.rb', line 9

def base_klasses
  @base_klasses
end

#klassesObject (readonly)

Returns the value of attribute klasses.



9
10
11
# File 'lib/xray_method_tracer/set_up/base_trace_set_up.rb', line 9

def klasses
  @klasses
end

#source_locationsObject (readonly)

Returns the value of attribute source_locations.



9
10
11
# File 'lib/xray_method_tracer/set_up/base_trace_set_up.rb', line 9

def source_locations
  @source_locations
end

Instance Method Details

#apply_traceObject



17
18
19
20
21
22
# File 'lib/xray_method_tracer/set_up/base_trace_set_up.rb', line 17

def apply_trace
  classes_to_override = (base_klasses + klasses).uniq
  classes_to_override.each { |klass| override_methods_in_class(klass) }

  override_methods_in_subclasses if base_klasses.any?
end