class Aws::Record::BatchWrite

def complete?

Returns:
  • (Boolean) - +true+ if +unprocessed_items+ is empty, +false+
def complete?
  unprocessed_items.values.none?
end

def delete(record)

Parameters:
  • record (Aws::Record) -- a model class that includes {Aws::Record}.
def delete(record)
  table_name, params = record_delete_params(record)
  operations[table_name] ||= []
  operations[table_name] << { delete_request: params }
end

def execute!

Returns:
  • (Aws::Record::BatchWrite) - an instance that provides access to
def execute!
  result = @client.batch_write_item(request_items: operations)
  @operations = result.unprocessed_items
  self
end

def initialize(opts = {})

Options Hash: (**opts)
  • client (Aws::DynamoDB::Client) -- the DynamoDB SDK client.

Parameters:
  • opts (Hash) --
def initialize(opts = {})
  @client = opts[:client]
end

def operations

def operations
  @operations ||= {}
end

def put(record)

Parameters:
  • record (Aws::Record) -- a model class that includes {Aws::Record}.
def put(record)
  table_name, params = record_put_params(record)
  operations[table_name] ||= []
  operations[table_name] << { put_request: params }
end

def record_delete_params(record)

def record_delete_params(record)
  [record.class.table_name, { key: record.key_values }]
end

def record_put_params(record)

def record_put_params(record)
  [record.class.table_name, { item: record.save_values }]
end

def unprocessed_items

Returns:
  • (Hash) - All operations that have not yet successfully completed.
def unprocessed_items
  operations
end