module Granite::Action::Transaction
Attributes
in_transaction[RW]
Public Instance Methods
run_callbacks(event)
click to toggle source
Calls superclass method
# File lib/granite/action/transaction.rb, line 25 def run_callbacks(event) if event.to_s == 'commit' begin super event rescue *handled_exceptions => e handle_exception(e) end else super event end end
Private Instance Methods
run_in_transaction() { || ... }
click to toggle source
# File lib/granite/action/transaction.rb, line 49 def run_in_transaction self.in_transaction = true TransactionManager.transaction do TransactionManager.after_commit(self) yield end ensure self.in_transaction = false end
transaction() { || ... }
click to toggle source
# File lib/granite/action/transaction.rb, line 41 def transaction(&block) if in_transaction yield else run_in_transaction(&block) end end