Class: Aws::Record::BatchWrite
- Inherits:
-
Object
- Object
- Aws::Record::BatchWrite
- Defined in:
- lib/aws-record/record/batch_write.rb
Instance Method Summary collapse
-
#complete? ⇒ Boolean
Indicates if all items have been processed.
-
#delete(record) ⇒ Object
Append a
DeleteItem
operation to a batch write request. -
#execute! ⇒ Aws::Record::BatchWrite
Perform a
batch_write_item
request. -
#initialize(client:) ⇒ BatchWrite
constructor
A new instance of BatchWrite.
-
#put(record) ⇒ Object
Append a
PutItem
operation to a batch write request. -
#unprocessed_items ⇒ Hash
Returns all
DeleteItem
andPutItem
operations that have not yet been processed successfully.
Constructor Details
#initialize(client:) ⇒ BatchWrite
Returns a new instance of BatchWrite.
18 19 20 |
# File 'lib/aws-record/record/batch_write.rb', line 18 def initialize(client:) @client = client end |
Instance Method Details
#complete? ⇒ Boolean
Indicates if all items have been processed.
54 55 56 |
# File 'lib/aws-record/record/batch_write.rb', line 54 def complete? unprocessed_items.values.none? end |
#delete(record) ⇒ Object
Append a DeleteItem
operation to a batch write request.
34 35 36 37 38 |
# File 'lib/aws-record/record/batch_write.rb', line 34 def delete(record) table_name, params = record_delete_params(record) operations[table_name] ||= [] operations[table_name] << { delete_request: params } end |
#execute! ⇒ Aws::Record::BatchWrite
Perform a batch_write_item
request.
44 45 46 47 48 |
# File 'lib/aws-record/record/batch_write.rb', line 44 def execute! result = @client.batch_write_item(request_items: operations) @operations = result.unprocessed_items self end |
#put(record) ⇒ Object
Append a PutItem
operation to a batch write request.
25 26 27 28 29 |
# File 'lib/aws-record/record/batch_write.rb', line 25 def put(record) table_name, params = record_put_params(record) operations[table_name] ||= [] operations[table_name] << { put_request: params } end |
#unprocessed_items ⇒ Hash
Returns all DeleteItem
and PutItem
operations that have not yet been processed successfully.
62 63 64 |
# File 'lib/aws-record/record/batch_write.rb', line 62 def unprocessed_items operations end |