12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/solid_ops/context.rb', line 12
def with(correlation_id: nil, request_id: nil, tenant_id: nil, actor_id: nil)
prev = {
correlation_id: SolidOps::Current.correlation_id,
request_id: SolidOps::Current.request_id,
tenant_id: SolidOps::Current.tenant_id,
actor_id: SolidOps::Current.actor_id
}
SolidOps::Current.correlation_id = correlation_id if correlation_id
SolidOps::Current.request_id = request_id if request_id
SolidOps::Current.tenant_id = tenant_id if tenant_id
SolidOps::Current.actor_id = actor_id if actor_id
yield
ensure
SolidOps::Current.correlation_id = prev[:correlation_id]
SolidOps::Current.request_id = prev[:request_id]
SolidOps::Current.tenant_id = prev[:tenant_id]
SolidOps::Current.actor_id = prev[:actor_id]
end
|