Module: Cod::Callbacks

Included in:
Bidir, BidirServer, SocketServer
Defined in:
lib/cod/callbacks.rb

Instance Method Summary collapse

Instance Method Details

#callbacks_enabled?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/cod/callbacks.rb', line 17

def callbacks_enabled?
  Thread.current[:callbacks]
end

#register_callback(&block) ⇒ Object



20
21
22
# File 'lib/cod/callbacks.rb', line 20

def register_callback(&block)
  Thread.current[:callbacks] << block
end

#using_callbacks(*args) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/cod/callbacks.rb', line 3

def using_callbacks(*args)
  Thread.current[:callbacks] = []
  
  result = yield
  
  Thread.current[:callbacks].each do |cb|
    cb.call(*args)
  end
  
  return result
ensure
  Thread.current[:callbacks] = nil
end