Module: Ecfr::ParallelClient::ClassMethods

Defined in:
lib/ecfr/parallel_client.rb

Instance Method Summary collapse

Instance Method Details

#parallel(method, requests, client = parallel_client) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/ecfr/parallel_client.rb', line 11

def parallel(method, requests, client = parallel_client)
  client.in_parallel do
    requests.each do |request|
      request.response = client.send(method, request.path, request.args) do |req|
        Ecfr.config.request_hook.call(req)
      end
    end
  end
end

#parallel_client(base_url: self.base_url, client_options: {}) ⇒ Object



4
5
6
7
8
9
# File 'lib/ecfr/parallel_client.rb', line 4

def parallel_client(base_url: self.base_url, client_options: {})
  client(
    base_url: base_url,
    client_options: client_options.merge({adapter: :typhoeus})
  )
end

#parallel_get(requests, client = parallel_client) ⇒ Object



21
22
23
# File 'lib/ecfr/parallel_client.rb', line 21

def parallel_get(requests, client = parallel_client)
  parallel(:get, requests, client)
end

#parallel_post(requests, client = parallel_client) ⇒ Object



25
26
27
# File 'lib/ecfr/parallel_client.rb', line 25

def parallel_post(requests, client = parallel_client)
  parallel(:post, requests, client)
end