Class: Transaction::Simple::ThreadSafe::Group
- Defined in:
- lib/transaction/simple/threadsafe/group.rb
Overview
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.
Instance Attribute Summary
Attributes inherited from Group
Instance Method Summary collapse
-
#initialize(*objects) ⇒ Group
constructor
A new instance of Group.
Methods inherited from Group
#abort_transaction, #clear, #commit_transaction, #rewind_transaction, #start_transaction, #transaction, #transaction_name, #transaction_open?
Constructor Details
#initialize(*objects) ⇒ Group
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/transaction/simple/threadsafe/group.rb', line 11 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 |