# File lib/geo_ruby/shp4r/shp.rb, line 95
      def transaction
        trs = ShpTransaction.new(self,@dbf)
        if block_given?
          answer = yield trs
          if answer == :rollback
            trs.rollback
          elsif !trs.rollbacked
            trs.commit
          end
        else
          trs
        end
      end