class SidekiqWorkflows::Builder

Attributes

node[R]
skip_workers[R]

Public Class Methods

new(node, skip_workers = []) click to toggle source
# File lib/sidekiq_workflows/builder.rb, line 7
def initialize(node, skip_workers = [])
  @node = node
  @skip_workers = skip_workers
end

Public Instance Methods

perform(workers, *args, delay: nil) click to toggle source
# File lib/sidekiq_workflows/builder.rb, line 12
def perform(workers, *args, delay: nil)
  workers = [worker: workers, payload: args, delay: delay] unless workers.is_a?(Array)
  workers.reject! { |w| skip_workers.include?(w[:worker]) }
  return self if workers.empty?

  child = @node.add_group(workers)
  Builder.new(child, skip_workers)
end
then(&block) click to toggle source
# File lib/sidekiq_workflows/builder.rb, line 21
def then(&block)
  instance_eval(&block)
end