module Quiver::Mappers::MemoryTransaction

Public Class Methods

transaction(root_module, &block) click to toggle source
# File lib/quiver/mappers.rb, line 38
def self.transaction(root_module, &block)
  raise ArgumentError, "#transaction requires a block" unless block_given?

  transaction = Transaction.new

  root_module::Application.memory_adapter_store.transaction do
    ret = block.call(transaction)

    raise RollbackTransaction if transaction.rollback?

    ret
  end
end