Class: Transaction
Instance Method Summary
collapse
#init
Constructor Details
#initialize(transaction_wrappers = nil, &block) ⇒ Transaction
Returns a new instance of Transaction.
12
13
14
15
16
17
18
|
# 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
|
Instance Method Details
20
21
22
23
24
25
26
|
# File 'lib/hyalite/transaction.rb', line 20
def close
if @close_proc
@close_proc.call
else
close_all
end
end
|
#close_all ⇒ Object
28
29
30
31
32
|
# File 'lib/hyalite/transaction.rb', line 28
def close_all
@transaction_wrappers.each do |wrapper|
wrapper.close
end
end
|
34
35
36
37
38
|
# File 'lib/hyalite/transaction.rb', line 34
def init_all
@transaction_wrappers.each do |wrapper|
wrapper.init
end
end
|
40
41
42
43
44
45
46
|
# File 'lib/hyalite/transaction.rb', line 40
def perform
init_all
yield(self)
ensure
close_all
end
|