Module: BatchRequestClient::BatchUtil

Included in:
BatchRequestClient
Defined in:
lib/batch_request_client/batch_util.rb

Instance Method Summary collapse

Instance Method Details

#create_payload(array_objects, method, url) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/batch_request_client/batch_util.rb', line 12

def create_payload(array_objects, method, url)
  requests = []
  array_objects.each do |item|
    requests << request_signature(item, method, url)
  end
  padded_response(requests).to_json
end

#get_batch_url(uri, mode) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/batch_request_client/batch_util.rb', line 4

def get_batch_url(uri, mode)
  base_url = "#{uri.scheme}://#{uri.host}:#{uri.port}"
  base_url = "#{uri.scheme}://#{uri.host}" if uri.scheme == 'https'
  batch_url = "#{base_url}/api/v1/batch_sequential"
  batch_url = "#{base_url}/api/v1/batch_parallel" if mode == :parallel
  batch_url
end

#headersObject



34
35
36
# File 'lib/batch_request_client/batch_util.rb', line 34

def headers
  { 'Content-Type' => 'application/json' }
end

#padded_response(requests) ⇒ Object



28
29
30
31
32
# File 'lib/batch_request_client/batch_util.rb', line 28

def padded_response(requests)
  {
    "requests": requests
  }
end

#request_signature(item, method, url) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/batch_request_client/batch_util.rb', line 20

def request_signature(item, method, url)
  {
    "method": method,
    "url": "#{url}",
    "body": item
  }
end