module Workflow::Transactional
Public Instance Methods
halt_with_rollback!(reason = nil)
click to toggle source
# File lib/workflow/transactional.rb, line 17 def halt_with_rollback!(reason = nil) halt reason raise ActiveRecord::Rollback end
new_transaction() { || ... }
click to toggle source
# File lib/workflow/transactional.rb, line 11 def new_transaction self.class.transaction(:requires_new => true) do yield end end
process_event!(*args)
click to toggle source
Calls superclass method
# File lib/workflow/transactional.rb, line 22 def process_event!(*args) return_value = :unprocessed self.new_transaction do return_value = super(*args) # raise ActiveRecord::Rollback if self.halted? end return return_value == :unprocessed ? false : return_value end