Method: ActiveContext::Container#run

Defined in:
lib/activecontext/container.rb

#run(&block) ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
# File 'lib/activecontext/container.rb', line 46

def run(&block)
  c = Thread.current[:contextualize]
  raise "found existing container" if c && c != self

  begin
    Thread.current[:contextualize] = self
    block.call
  ensure
    Thread.current[:contextualize] = nil
  end unless c
end