Sha256: a0f0d328ac5d9e90adae4a1794c715d32a8fd1cc7b3cc62332704feab2f1d6f3
Contents?: true
Size: 656 Bytes
Versions: 3
Compression:
Stored size: 656 Bytes
Contents
require 'timeout' class Freddy class SyncResponseContainer def call(response, delivery) @response = response @delivery = delivery end def wait_for_response(timeout) Timeout::timeout(timeout) do sleep 0.001 until filled? end if @response[:error] == 'RequestTimeout' raise TimeoutError.new(@response) elsif !@delivery || @delivery.metadata.type == 'error' raise InvalidRequestError.new(@response) else @response end end private def to_proc Proc.new {|*args| self.call(*args)} end def filled? !@response.nil? end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
freddy-0.4.4 | lib/freddy/sync_response_container.rb |
freddy-jruby-0.4.3 | lib/freddy/sync_response_container.rb |
freddy-0.4.3 | lib/freddy/sync_response_container.rb |