Class: Mysql2::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/mysql2/client.rb

Instance Method Summary collapse

Instance Method Details

#transaction(&block) ⇒ Object

Raises:

  • (ArgumentError)


3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/mysql2/client.rb', line 3

def transaction(&block)
  raise ArgumentError, 'No block was given' unless block_given?
  begin
    query('BEGIN')
    yield(self)
    query('COMMIT')
    return true # Successful Transaction
  rescue
    query('ROLLBACK')
    raise
    return false # Failed Transaction
  end
end