start_transaction (Transaction::Simple)

    # File lib/transaction/simple.rb, line 111
      def start_transaction(name = nil)
        @__transaction_level__ ||= 0
        @__transaction_names__ ||= []

        name = name.dup.freeze if name.kind_of?(String)

        raise Transaction::TransactionError, Transaction::Messages[:unique_names] if name and @__transaction_names__.include?(name)

        @__transaction_names__ << name
        @__transaction_level__ += 1

        if Transaction::Simple.debugging?
          ss = "(#{name.inspect})"
          ss = "" unless ss

          Transaction::Simple.debug_io << "#{'>' * @__transaction_level__} " << "Start Transaction#{ss}\n"
        end

        @__transaction_checkpoint__ = Marshal.dump(self)
      end