do (Vapor::Transaction)

    # File vapor/transaction.rb, line 95
        def do
          raise ArgumentError, "block required" unless block_given?

          self.begin

          begin
            @block_mode = true
            yield self
          rescue TransactionAbortedError  # aborted by user
          rescue                          # all other errors
            @block_mode = false
            self.abort
            raise
          ensure
            @block_mode = false
            self.commit if self.active?
          end

        end