class Transaction::Simple::ThreadSafe::Group

A transaction group is an object wrapper that manages a group of objects as if they were a single object for the purpose of transaction management. All transactions for this group of objects should be performed against the transaction group object, not against individual objects in the group. This is the threadsafe version of a transaction group.

Public Class Methods

new(*objects) { |self| ... } click to toggle source
# File lib/transaction/simple/threadsafe/group.rb, line 10
def initialize(*objects)
  @objects = objects || []
  @objects.freeze
  @objects.each { |obj| obj.extend(Transaction::Simple::ThreadSafe) }

  if block_given?
    begin
      yield self
    ensure
      self.clear
    end
  end
end