module Tapioca::Runtime::Trackers::Tracker

def disable!

: -> void
def disable!
  @enabled = false
end

def enabled?

def enabled?
  @enabled
end

def extended(base)

: ((Tracker & Module) base) -> void
def extended(base)
  Trackers.register_tracker(base)
  base.instance_exec do
    @enabled = true
  end
end

def with_disabled_tracker(&block)

def with_disabled_tracker(&block)
  original_state = @enabled
  @enabled = false
  block.call
ensure
  @enabled = original_state
end