module NetSuite::Actions::UpsertList::Support::ClassMethods

Public Instance Methods

upsert_list(records, credentials = {}) click to toggle source
# File lib/netsuite/actions/upsert_list.rb, line 85
def upsert_list(records, credentials = {})
  netsuite_records = records.map do |r|
    if r.kind_of?(self)
      r
    else
      self.new(r)
    end
  end

  response = NetSuite::Actions::UpsertList.call(netsuite_records, credentials)

  if response.success?
    response.body.map do |attr|
      record = netsuite_records.find do |r|
        r.external_id == attr[:@external_id]
      end

      record.instance_variable_set('@internal_id', attr[:@internal_id])
    end

    netsuite_records
  else
    false
  end
end