lib/tapioca.rb in tapioca-0.9.3 vs lib/tapioca.rb in tapioca-0.9.4
- old
+ new
@@ -4,9 +4,21 @@
require "sorbet-runtime"
module Tapioca
extend T::Sig
+ @traces = T.let([], T::Array[TracePoint])
+
+ sig { params(trace_name: Symbol, block: T.proc.params(arg0: TracePoint).void).void }
+ def self.register_trace(trace_name, &block)
+ @traces << TracePoint.trace(trace_name, &block)
+ end
+
+ sig { void }
+ def self.disable_traces
+ @traces.each(&:disable)
+ end
+
sig do
type_parameters(:Result)
.params(blk: T.proc.returns(T.type_parameter(:Result)))
.returns(T.type_parameter(:Result))
end