Sha256: cbd16206e9db39327d792fb8e1f256dd9d74659e790d3d69dd59f79589a31e98
Contents?: true
Size: 674 Bytes
Versions: 3
Compression:
Stored size: 674 Bytes
Contents
require 'derketo/event_trace' require 'derketo/events/call' require 'derketo/events/return' module Derketo class Tracer attr_accessor :events def initialize(scope: nil) @events = Derketo::EventTrace.new @tracepoint = TracePoint.new(:call, :return) do |tp| if scope.nil? || tp.path.include?(scope) if tp.event == :call @events.push(Derketo::Events::Call.new(tp)) elsif tp.event == :return @events.push(Derketo::Events::Return.new(tp)) end end end end def trace @tracepoint.enable response = yield @tracepoint.disable response end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
derketo-0.1.2 | lib/derketo/tracer.rb |
derketo-0.1.1 | lib/derketo/tracer.rb |
derketo-0.1.0 | lib/derketo/tracer.rb |