Sha256: 6177c74c07e473baf4330e85cca0ca8fd0baa9f2242ecb76447b507ce8a6f6eb

Contents?: true

Size: 1.07 KB

Versions: 28

Compression:

Stored size: 1.07 KB

Contents

#--
# Transaction::Simple
# Simple object transaction support for Ruby
# http://rubyforge.org/projects/trans-simple/
#   Version 1.4.0
#
# Licensed under a MIT-style licence. See Licence.txt in the main
# distribution for full licensing information.
#
# Copyright (c) 2003 - 2007 Austin Ziegler
#
# $Id: group.rb 47 2007-02-03 15:02:51Z austin $
#++
require 'transaction/simple/threadsafe'

  # 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.
class Transaction::Simple::ThreadSafe::Group < Transaction::Simple::Group
  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
end

Version data entries

28 entries across 28 versions & 5 rubygems

Version Path
rhodes-7.6.0 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-7.5.1 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-7.4.1 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-7.1.17 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-6.2.0 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-6.0.11 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-5.5.18 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-5.5.17 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-5.5.15 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-5.5.0.22 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-5.5.2 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-5.5.0.7 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-5.5.0.3 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-5.5.0 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
tauplatform-1.0.3 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
tauplatform-1.0.2 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
tauplatform-1.0.1 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-3.5.1.12 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-3.3.5 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb
rhodes-3.4.2 lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb