Method: Arango::Collection#createDocuments

Defined in:
lib/Collection.rb

#createDocuments(document: [], waitForSync: nil, returnNew: nil, silent: nil) ⇒ Object



320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
# File 'lib/Collection.rb', line 320

def createDocuments(document: [], waitForSync: nil, returnNew: nil,
  silent: nil)
  document = [document] unless document.is_a? Array
  document = document.map{|x| return_body(x)}
  query = {
    "waitForSync": waitForSync,
    "returnNew":   returnNew,
    "silent":      silent
  }
  results = @database.request("POST", "_api/document/#{@name}", body: document,
    query: query)
  return results if return_directly?(results) || silent
  results.map.with_index do |result, index|
    body2 = result.clone
    if returnNew
      body2.delete(:new)
      body2 = body2.merge(result[:new])
    end
    real_body = document[index]
    real_body = real_body.merge(body2)
    Arango::Document.new(name: result[:_key], collection: self, body: real_body)
  end
end