class Faraday::Adapter::EMHttp::Manager
This parallel manager is designed to start an EventMachine loop and block until all registered requests have been completed.
Public Class Methods
Public Instance Methods
Source
# File lib/faraday/adapter/em_http.rb, line 232 def add(&block) if running? perform_request { yield } else @registered_procs << block end @num_registered += 1 end
Source
# File lib/faraday/adapter/em_http.rb, line 269 def check_finished EventMachine.stop if @num_succeeded + @errors.size == @num_registered end
Source
# File lib/faraday/adapter/em_http.rb, line 257 def perform_request client = yield client.callback do @num_succeeded += 1 check_finished end client.errback do @errors << client.error check_finished end end
Source
# File lib/faraday/adapter/em_http.rb, line 219 def reset @registered_procs = [] @num_registered = 0 @num_succeeded = 0 @errors = [] @running = false end
Re-initializes instance variables
Source
# File lib/faraday/adapter/em_http.rb, line 241 def run if @num_registered.positive? @running = true EventMachine.run do @registered_procs.each do |proc| perform_request(&proc) end end unless @errors.empty? raise Faraday::ClientError, @errors.first || 'connection failed' end end ensure reset end
Source
# File lib/faraday/adapter/em_http.rb, line 228 def running? @running end
@return [Boolean]