Module: Combi

Defined in:
lib/combi/helpers.rb,
lib/combi/reactor.rb,
lib/combi/service.rb,
lib/combi/version.rb,
lib/combi/buses/bus.rb,
lib/combi/buses/http.rb,
lib/combi/buses/queue.rb,
lib/combi/service_bus.rb,
lib/combi/queue_service.rb,
lib/combi/response_store.rb,
lib/combi/buses/in_process.rb,
lib/combi/buses/web_socket.rb

Defined Under Namespace

Modules: Service Classes: Bus, EventedWaiter, Http, InProcess, Queue, QueueService, Reactor, ResponseStore, ServiceBus, WebSocket

Constant Summary collapse

VERSION =
'0.0.3'

Class Method Summary collapse

Class Method Details

.wait_for(defer, options = {}, &block) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/combi/helpers.rb', line 5

def self.wait_for(defer, options = {}, &block)
  options[:timeout] ||= 2
  poll_time = options[:timeout] / 10
  resolved = false
  defer.callback { |response|
    resolved = true
    block.call response
  }
  Timeout::timeout(options[:timeout]) do
    sleep poll_time while !resolved
  end
end