lib/muxer/multiplexer.rb in muxer-0.3.0 vs lib/muxer/multiplexer.rb in muxer-0.3.2

- old
+ new

@@ -37,11 +37,11 @@ # @return true def add_url(url, options = {}) options.keys.each do |key| options[key.to_sym] = options.delete(key) end - options = {timeout: nil, method: :get, params: {}, redirects: nil}.merge(options) + options = {timeout: nil, method: :get, params: {}, redirects: nil, id: nil}.merge(options) timeout = request = Request.new request.url = url options.each do |key, val| next unless request.respond_to? ("#{key}=".to_sym) @@ -70,11 +70,11 @@ # executes the actual event loop that manages creating, sending, # and processing the finished / timed out web requests # # @return [Hash] Keys are :succeeded, :failed def execute - @responses = {succeeded: [], failed: [], pending: []} + @responses = {succeeded: [], failed: [], pending: [], succeeded_by_id: {}} @start = Time.now EventMachine.run do requests.each do |request| @responses[:pending] << request.process! end @@ -102,9 +102,12 @@ @responses[:pending].each do |pending| if pending.completed? @responses[:pending].delete(pending) if pending.error.nil? @responses[:succeeded] << pending + if pending.id + @responses[:succeeded_by_id][pending.id] = pending + end else @responses[:failed] << pending end end end \ No newline at end of file