Class: Trace2::ClassUseFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/trace2/class_use_factory.rb

Overview

Builds a ClassUse from TracePoint

Constant Summary collapse

CLASS_POINTER_FORMAT =
'0x[0-9abcdef]+'

Class Method Summary collapse

Class Method Details

.build(trace_point:, caller_class:, stack_level:) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/trace2/class_use_factory.rb', line 8

def self.build(trace_point:, caller_class:, stack_level:)
  ClassUse.new(
    trace_point_params(trace_point)
    .merge(caller_class: caller_class)
    .merge(stack_level: stack_level)
  )
end

.class_name(trace_point) ⇒ Object



16
17
18
# File 'lib/trace2/class_use_factory.rb', line 16

def self.class_name(trace_point)
  Trace2::NameFinder.class_name(trace_point.self)
end

.trace_point_params(trace_point) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/trace2/class_use_factory.rb', line 21

def trace_point_params(trace_point)
  {
    name: class_name(trace_point),
    method: trace_point.callee_id.to_s,
    path: trace_point.path,
    line: trace_point.lineno,
    event: trace_point.event
  }
end