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