Class: DiverDown::Trace::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/diver_down/trace/session.rb

Constant Summary collapse

StackContext =
Data.define(
  :source,
  :method_id,
  :path,
  :lineno
)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(module_set: DiverDown::Trace::ModuleSet.new, ignored_method_ids: nil, caller_paths: nil, filter_method_id_path: nil, definition: DiverDown::Definition.new) ⇒ Session

Returns a new instance of Session.

Parameters:

  • module_set (DiverDown::Trace::ModuleSet, nil) (defaults to: DiverDown::Trace::ModuleSet.new)
  • ignored_method_ids (DiverDown::Trace::IgnoredMethodIds, nil) (defaults to: nil)
  • List (Set<String>, nil)

    of paths to finish traversing when searching for a caller. If nil, all paths are finished.

  • filter_method_id_path (#call, nil) (defaults to: nil)


19
20
21
22
23
24
25
26
# File 'lib/diver_down/trace/session.rb', line 19

def initialize(module_set: DiverDown::Trace::ModuleSet.new, ignored_method_ids: nil, caller_paths: nil, filter_method_id_path: nil, definition: DiverDown::Definition.new)
  @module_set = module_set
  @ignored_method_ids = ignored_method_ids
  @caller_paths = caller_paths
  @filter_method_id_path = filter_method_id_path
  @definition = definition
  @trace_point = build_trace_point
end

Instance Attribute Details

#definitionObject (readonly)

Returns the value of attribute definition.



13
14
15
# File 'lib/diver_down/trace/session.rb', line 13

def definition
  @definition
end

Instance Method Details

#startvoid

This method returns an undefined value.



29
30
31
# File 'lib/diver_down/trace/session.rb', line 29

def start
  @trace_point.enable
end

#stopvoid

This method returns an undefined value.



34
35
36
# File 'lib/diver_down/trace/session.rb', line 34

def stop
  @trace_point.disable
end