Module: CorrelationId

Defined in:
lib/correlation_id.rb,
lib/correlation_id/version.rb,
lib/correlation_id/middleware/rack.rb,
lib/correlation_id/middleware/faraday.rb,
lib/correlation_id/middleware/railtie.rb,
lib/correlation_id/middleware/airbrake.rb

Defined Under Namespace

Modules: Middleware

Constant Summary collapse

HEADER_KEY =
'X-Correlation-ID'.freeze
THREAD_KEY =
'CORRELATION_UUID'.freeze
VERSION =
'0.2.1'.freeze

Class Method Summary collapse

Class Method Details

.disableObject



27
28
29
# File 'lib/correlation_id.rb', line 27

def disable
  using_uuid(_uuid) { yield }
end

.using_uuid(new_uuid) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/correlation_id.rb', line 31

def using_uuid(new_uuid)
  old_uuid = uuid

  self.uuid = new_uuid
  result = yield
  self.uuid = old_uuid

  result
end

.uuidObject



15
16
17
# File 'lib/correlation_id.rb', line 15

def uuid
  Thread.current[THREAD_KEY] ||= _uuid
end

.uuid!Object



19
20
21
# File 'lib/correlation_id.rb', line 19

def uuid!
  Thread.current[THREAD_KEY] = _uuid
end

.uuid=(value) ⇒ Object



23
24
25
# File 'lib/correlation_id.rb', line 23

def uuid=(value)
  Thread.current[THREAD_KEY] = value
end