module Related::DataFlow

Public Instance Methods

clear_data_flows() click to toggle source
# File lib/related/data_flow.rb, line 14
def clear_data_flows
  @data_flows = {}
end
data_flow(name, steps) click to toggle source
# File lib/related/data_flow.rb, line 4
def data_flow(name, steps)
  @data_flows ||= {}
  @data_flows[name.to_sym] ||= []
  @data_flows[name.to_sym] << steps
end
data_flows() click to toggle source
# File lib/related/data_flow.rb, line 10
def data_flows
  @data_flows
end
execute_data_flow(name_or_flow, data) click to toggle source
# File lib/related/data_flow.rb, line 18
def execute_data_flow(name_or_flow, data)
  @data_flows ||= {}
  if name_or_flow.is_a?(Hash)
    enqueue_flow(name_or_flow, data)
  else
    flows = @data_flows[name_or_flow.to_sym] || []
    flows.each do |flow|
      enqueue_flow(flow, data)
    end
  end
end

Protected Instance Methods

enqueue_flow(flow, data) click to toggle source
# File lib/related/data_flow.rb, line 46
def enqueue_flow(flow, data)
  if defined?(Resque)
    Resque.enqueue(DataFlowJob, flow, data)
  else
    DataFlowJob.perform(JSON.parse(flow.to_json), JSON.parse(data.to_json))
  end
end