module Workflow::Join::ActiveRecord::PendingCallbacks

table.column :workflow_pending_callbacks, :string

Public Instance Methods

pending_callback!(value) click to toggle source
# File lib/workflow/join/active_record/pending_callbacks.rb, line 25
def pending_callback!(value)
  pending_callbacks!(pending_callbacks | [value])
end
pending_callbacks() click to toggle source
# File lib/workflow/join/active_record/pending_callbacks.rb, line 6
def pending_callbacks
  workflow_pending_callbacks.to_s.split(';').map do |wpc|
    c, id = wpc.split(',')
    Kernel.const_get(c).find(id) rescue nil
  end.compact
end
pending_callbacks!(value) click to toggle source
# File lib/workflow/join/active_record/pending_callbacks.rb, line 13
def pending_callbacks!(value)
  pcs = case value
        when Array then value.map { |instance| [instance.class.name, instance.id].join(',') }.join(';')
        when String, Symbol then value.to_s
        end
  update_column :workflow_pending_callbacks, pcs
end
pending_callbacks?() click to toggle source
# File lib/workflow/join/active_record/pending_callbacks.rb, line 21
def pending_callbacks?
  !pending_callbacks.empty?
end