Module: Dynamoid::Transactions

Extended by:
ActiveSupport::Concern
Defined in:
lib/dynamoid/transactions.rb,
lib/dynamoid/transactions/mutation.rb,
lib/dynamoid/transactions/retrieval.rb,
lib/dynamoid/transactions/mutation/inc.rb,
lib/dynamoid/transactions/mutation/base.rb,
lib/dynamoid/transactions/mutation/save.rb,
lib/dynamoid/transactions/mutation/touch.rb,
lib/dynamoid/transactions/retrieval/find.rb,
lib/dynamoid/transactions/mutation/create.rb,
lib/dynamoid/transactions/mutation/import.rb,
lib/dynamoid/transactions/mutation/upsert.rb,
lib/dynamoid/transactions/mutation/destroy.rb,
lib/dynamoid/transactions/mutation/increment.rb,
lib/dynamoid/transactions/mutation/update_fields.rb,
lib/dynamoid/transactions/mutation/update_attributes.rb,
lib/dynamoid/transactions/mutation/delete_with_instance.rb,
lib/dynamoid/transactions/mutation/delete_with_primary_key.rb,
lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb,
lib/dynamoid/transactions/mutation/builders/update_request_builder.rb

Overview

The Transactions module provides a way to run blocks of code within a DynamoDB transaction.

DynamoDB supports two types of transactions: read-only and write-only. This module provides a unified interface to both.

Examples:

Rails-style transaction (defaults to write)

User.transaction do |t|
  t.save(user)
  t.create(Account, name: 'A')
end

Explicit write transaction

User.transaction.writing do |t|
  t.save(user)
  t.create(Account, name: 'A')
end

Explicit read transaction

users = User.transaction.reading do |t|
  t.find(User, '1')
  t.find(User, '2')
end

Defined Under Namespace

Modules: ClassMethods Classes: Mutation, Proxy, Retrieval