Sha256: ee5a3f456fea319f2aa1e4ce1e71009cdcb8db9ef4e394fd0a6834fd724bd1ac

Contents?: true

Size: 523 Bytes

Versions: 46

Compression:

Stored size: 523 Bytes

Contents

# Copyright (c) 2014 AppNeta, Inc.
# All rights reserved.

module TraceView
  ##
  # Provides thread local storage for TraceView.
  #
  # Example usage:
  # module TraceViewBase
  #   extend ::TraceView::ThreadLocal
  #   thread_local :layer_op
  # end
  module ThreadLocal
    def thread_local(name)
      key = "__#{self}_#{name}__".intern

      define_method(name) do
        Thread.current[key]
      end

      define_method(name.to_s + '=') do |value|
        Thread.current[key] = value
      end
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
traceview-3.8.3-java lib/traceview/thread_local.rb
traceview-3.8.3 lib/traceview/thread_local.rb
traceview-3.8.2-java lib/traceview/thread_local.rb
traceview-3.8.2 lib/traceview/thread_local.rb
traceview-3.8.1-java lib/traceview/thread_local.rb
traceview-3.8.1 lib/traceview/thread_local.rb
traceview-3.8.0-java lib/traceview/thread_local.rb
traceview-3.8.0 lib/traceview/thread_local.rb
traceview-3.7.1-java lib/traceview/thread_local.rb
traceview-3.7.1 lib/traceview/thread_local.rb
traceview-3.7.0-java lib/traceview/thread_local.rb
traceview-3.7.0 lib/traceview/thread_local.rb
traceview-3.6.0-java lib/traceview/thread_local.rb
traceview-3.6.0 lib/traceview/thread_local.rb
traceview-3.5.1-java lib/traceview/thread_local.rb
traceview-3.5.1 lib/traceview/thread_local.rb
traceview-3.5.0-java lib/traceview/thread_local.rb
traceview-3.5.0 lib/traceview/thread_local.rb
traceview-3.4.2-java lib/traceview/thread_local.rb
traceview-3.4.2 lib/traceview/thread_local.rb