module Quiver::Mappers::ActiveRecordTransaction
Public Class Methods
transaction(root_module, &block)
click to toggle source
# File lib/quiver/mappers.rb, line 54 def self.transaction(root_module, &block) raise ArgumentError, "#transaction requires a block" unless block_given? transaction = Transaction.new ret = nil ActiveRecord::Base.transaction do begin ret = block.call(transaction) rescue ::ActiveRecord::ActiveRecordError, RollbackTransaction transaction.rollback! end raise ActiveRecord::Rollback if transaction.rollback? end ret end