Sha256: f0815a5da75d7f3c6f5936b0804568ccc15b01cb96f0371a4a40d9ff432a16f9

Contents?: true

Size: 498 Bytes

Versions: 47

Compression:

Stored size: 498 Bytes

Contents

# frozen_string_literal: true

module Checkoff
  module Internal
    # Manage thread lock variables in a block
    class ThreadLocal
      # @sg-ignore
      # @param name [Symbol]
      # @param value [Object,Boolean]
      #
      # @return [Object,Boolean]
      def with_thread_local_variable(name, value, &block)
        old_value = Thread.current[name]
        Thread.current[name] = value
        block.yield
      ensure
        Thread.current[name] = old_value
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
checkoff-0.222.0 lib/checkoff/internal/thread_local.rb
checkoff-0.221.0 lib/checkoff/internal/thread_local.rb
checkoff-0.220.0 lib/checkoff/internal/thread_local.rb
checkoff-0.219.0 lib/checkoff/internal/thread_local.rb
checkoff-0.218.0 lib/checkoff/internal/thread_local.rb
checkoff-0.217.0 lib/checkoff/internal/thread_local.rb
checkoff-0.216.0 lib/checkoff/internal/thread_local.rb
checkoff-0.215.0 lib/checkoff/internal/thread_local.rb
checkoff-0.214.0 lib/checkoff/internal/thread_local.rb
checkoff-0.213.0 lib/checkoff/internal/thread_local.rb
checkoff-0.212.0 lib/checkoff/internal/thread_local.rb
checkoff-0.211.0 lib/checkoff/internal/thread_local.rb
checkoff-0.210.0 lib/checkoff/internal/thread_local.rb
checkoff-0.209.0 lib/checkoff/internal/thread_local.rb
checkoff-0.208.0 lib/checkoff/internal/thread_local.rb
checkoff-0.207.0 lib/checkoff/internal/thread_local.rb
checkoff-0.206.0 lib/checkoff/internal/thread_local.rb
checkoff-0.205.0 lib/checkoff/internal/thread_local.rb
checkoff-0.204.0 lib/checkoff/internal/thread_local.rb
checkoff-0.203.0 lib/checkoff/internal/thread_local.rb