File: transaction.rb

Project: Invitation to Ruby

#!/usr/bin/env ruby

class Database
  def transaction
    commited = false
    begin_transaction
    begin
      yield
      commit_transaction
      commited = true
    ensure
      rollback_transaction if ! commited
    end
  end
  def begin_transaction
    puts "Beginning Transaction"
  end
  def commit_transaction
    puts "Commiting Transaction"
  end
  def rollback_transaction
    puts "Rolling Back Transaction"
  end
end

Used by: transactiondemo


[ Index ][ Table of Contents ]
Generated by [ source2html ]