Sha256: 64e026f4e580b026f01934aeddd86ee80a6b5071064a43ab988a2510f08c83f2
Contents?: true
Size: 483 Bytes
Versions: 35
Compression:
Stored size: 483 Bytes
Contents
require 'active_record' class Transactor < ActiveRecord::Base belongs_to :worker include AASM aasm :column => :status do state :sleeping, :initial => true state :running, :before_enter => :start_worker, :after_enter => :fail event :run do transitions :to => :running, :from => :sleeping end end private def start_worker worker.update_attribute(:status, 'running') end def fail raise StandardError.new('failed on purpose') end end
Version data entries
35 entries across 35 versions & 1 rubygems