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

Version Path
tapioca-0.16.8 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.16.7 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.16.6 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.16.5 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.16.4 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.16.3 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.16.2 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.16.1 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.16.0 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.15.1 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.15.0 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.14.4 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.14.3 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.13.3 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.13.2 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.13.1 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.13.0 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.12.0 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.11.17 lib/tapioca/runtime/trackers/tracker.rb
tapioca-0.11.16 lib/tapioca/runtime/trackers/tracker.rb