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(opts = {}) ⇒ 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(opts = {}) ⇒ BatchWrite
Returns a new instance of BatchWrite.
7 8 9 |
# File 'lib/aws-record/record/batch_write.rb', line 7 def initialize(opts = {}) @client = opts[:client] end |
Instance Method Details
#complete? ⇒ Boolean
Indicates if all items have been processed.
See Aws::Record::Batch.write for example usage.
48 49 50 |
# File 'lib/aws-record/record/batch_write.rb', line 48 def complete? unprocessed_items.values.none? end |
#delete(record) ⇒ Object
Append a DeleteItem
operation to a batch write request.
See Aws::Record::Batch.write for example usage.
26 27 28 29 30 |
# File 'lib/aws-record/record/batch_write.rb', line 26 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.
See Aws::Record::Batch.write for example usage.
37 38 39 40 41 |
# File 'lib/aws-record/record/batch_write.rb', line 37 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.
See Aws::Record::Batch.write for example usage.
16 17 18 19 20 |
# File 'lib/aws-record/record/batch_write.rb', line 16 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.
See Aws::Record::Batch.write for example usage.
57 58 59 |
# File 'lib/aws-record/record/batch_write.rb', line 57 def unprocessed_items operations end |