Sha256: 28b9fbcf78c182eef02090a5ff4a4c5cedbad89d8fda6306f42de5b809e306a7
Contents?: true
Size: 826 Bytes
Versions: 41
Compression:
Stored size: 826 Bytes
Contents
# typed: true # frozen_string_literal: true module Tapioca module Runtime module Trackers module Tracker extend T::Sig extend T::Helpers abstract! class << self extend T::Sig sig { params(base: T.all(Tracker, Module)).void } def extended(base) Trackers.register_tracker(base) base.instance_exec do @enabled = true end end end sig { void } def disable! @enabled = false end def enabled? @enabled end def with_disabled_tracker(&block) original_state = @enabled @enabled = false block.call ensure @enabled = original_state end end end end end
Version data entries
41 entries across 41 versions & 2 rubygems