class Foxtrot::Response::Response
Public Class Methods
new(endpoint, resp, api_instance)
click to toggle source
# File lib/foxtrot/response.rb, line 6 def initialize(endpoint, resp, api_instance) @endpoint = endpoint @resp = resp @api_instance = api_instance end
response_for(endpoint, resp, api_instance)
click to toggle source
# File lib/foxtrot/response.rb, line 26 def self.response_for(endpoint, resp, api_instance) case resp['status'] when 'pending' PendingResponse.new(endpoint, resp, api_instance) when 'success' SuccessResponse.new(endpoint, resp, api_instance) else ErrorResponse.new(endpoint, resp, api_instance) end end
Public Instance Methods
poll_and_block!(interval=1, timeout=60)
click to toggle source
# File lib/foxtrot/response.rb, line 12 def poll_and_block!(interval=1, timeout=60) count = 0 instance = self while !instance.complete? instance = instance.poll! sleep interval count += interval if count > timeout raise Foxtrot::Errors::APITimeoutError.new(count) end end instance end