class Transaction

Public Class Methods

new(transaction_wrappers = nil, &block) click to toggle source
# File lib/hyalite/transaction.rb, line 12
def initialize(transaction_wrappers = nil, &block)
  @transaction_wrappers = transaction_wrappers || []
  if block_given?
    @close_proc = block
    @transaction_wrappers << self
  end
end

Public Instance Methods

close() click to toggle source
# File lib/hyalite/transaction.rb, line 20
def close
  if @close_proc
    @close_proc.call
  else
    close_all
  end
end
close_all() click to toggle source
# File lib/hyalite/transaction.rb, line 28
def close_all
  @transaction_wrappers.each do |wrapper|
    wrapper.close
  end
end
init_all() click to toggle source
# File lib/hyalite/transaction.rb, line 34
def init_all
  @transaction_wrappers.each do |wrapper|
    wrapper.init
  end
end
perform() { |self| ... } click to toggle source
# File lib/hyalite/transaction.rb, line 40
def perform
  init_all

  yield(self)
ensure
  close_all
end