module AMQP::Hermes

Public Class Methods

wait_for(something, test, max=50) click to toggle source
# File lib/amqp-hermes.rb, line 11
def self.wait_for(something, test, max=50)
  res = something.send(test)
  unless [ true, false ].include?(res)
    raise "Can only wait for true or false"
  end
  return 0 if res == true

  wait_count = 0
  while !something.send(test)
    raise "Waited long enough" if ( wait_count += 1 ) > max
    sleep 0.1
  end

  return wait_count
end