Module: ReeAudit::Context

Defined in:
lib/ree_lib/packages/ree_audit/package/ree_audit/context.rb

Constant Summary collapse

KEY =
:ree_audit_events

Class Method Summary collapse

Class Method Details

.clearObject

Leaving a stale event behind leaks one client's context into the next request served by the same fiber, so the stack is always cleaned up.



34
35
36
37
# File 'lib/ree_lib/packages/ree_audit/package/ree_audit/context.rb', line 34

def clear
  Thread.current[KEY] = []
  nil
end

.currentObject



24
25
26
# File 'lib/ree_lib/packages/ree_audit/package/ree_audit/context.rb', line 24

def current
  stack.last
end

.empty?Boolean

Returns:



39
40
41
# File 'lib/ree_lib/packages/ree_audit/package/ree_audit/context.rb', line 39

def empty?
  stack.empty?
end

.popObject



20
21
22
# File 'lib/ree_lib/packages/ree_audit/package/ree_audit/context.rb', line 20

def pop
  stack.pop
end

.push(event) ⇒ Object



15
16
17
18
# File 'lib/ree_lib/packages/ree_audit/package/ree_audit/context.rb', line 15

def push(event)
  stack << event
  event
end

.stackObject



28
29
30
# File 'lib/ree_lib/packages/ree_audit/package/ree_audit/context.rb', line 28

def stack
  Thread.current[KEY] ||= []
end