module CodeMapper

Constants

VERSION

Public Class Methods

trace(filter: nil, start_at: nil, max_depth: nil, output: CodeMapper::Output::Text.new($stdout)) { || ... } click to toggle source
# File lib/code_mapper.rb, line 10
def self.trace(filter: nil, start_at: nil, max_depth: nil, output: CodeMapper::Output::Text.new($stdout), &block)
  filters = []
  filters << Filter::Callee.new(filter) if filter
  filters << Filter::StartAt.new(start_at) if start_at
  filters << Filter::MaxDepth.new(max_depth) if max_depth

  tracer = Tracer.new(filters: filters, output: output)
  tracer.enable

  begin
    yield
  ensure
    tracer.disable
  end
end