Method: Factbase::Looged#txn
- Defined in:
- lib/factbase/looged.rb
#txn(this = self) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/factbase/looged.rb', line 58 def txn(this = self, &) start = Time.now id = nil rollback = false r = @fb.txn(this) do |fbt| id = fbt.object_id yield fbt rescue Factbase::Rollback => e rollback = true raise e end if rollback @loog.debug("Txn ##{id} rolled back in #{start.ago}") else @loog.debug("Txn ##{id} #{r ? 'modified' : 'didn\'t touch'} the factbase in #{start.ago}") end r end |