class UpAndAtThem::Transaction
Public Class Methods
[](*tasks)
click to toggle source
# File lib/up_and_at_them/transaction.rb, line 4 def self.[](*tasks) new(tasks) end
new(tasks)
click to toggle source
# File lib/up_and_at_them/transaction.rb, line 8 def initialize(tasks) @tasks = Array(tasks) run end
Public Instance Methods
run()
click to toggle source
# File lib/up_and_at_them/transaction.rb, line 13 def run finished_tasks = [] @tasks.each do |task| task.call finished_tasks << task end rescue => err finished_tasks.reverse_each(&:rollback) raise err end