Class: SidekiqWorkflows::Builder
- Inherits:
-
Object
- Object
- SidekiqWorkflows::Builder
- Defined in:
- lib/sidekiq_workflows/builder.rb
Instance Attribute Summary collapse
-
#node ⇒ Object
readonly
Returns the value of attribute node.
-
#skip_workers ⇒ Object
readonly
Returns the value of attribute skip_workers.
Instance Method Summary collapse
-
#initialize(node, skip_workers = []) ⇒ Builder
constructor
A new instance of Builder.
- #perform(workers, *args, delay: nil) ⇒ Object
- #then(&block) ⇒ Object
Constructor Details
#initialize(node, skip_workers = []) ⇒ Builder
Returns a new instance of Builder.
7 8 9 10 |
# File 'lib/sidekiq_workflows/builder.rb', line 7 def initialize(node, skip_workers = []) @node = node @skip_workers = skip_workers end |
Instance Attribute Details
#node ⇒ Object (readonly)
Returns the value of attribute node.
5 6 7 |
# File 'lib/sidekiq_workflows/builder.rb', line 5 def node @node end |
#skip_workers ⇒ Object (readonly)
Returns the value of attribute skip_workers.
5 6 7 |
# File 'lib/sidekiq_workflows/builder.rb', line 5 def skip_workers @skip_workers end |
Instance Method Details
#perform(workers, *args, delay: nil) ⇒ Object
12 13 14 15 16 17 18 19 |
# 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) ⇒ Object
21 22 23 |
# File 'lib/sidekiq_workflows/builder.rb', line 21 def then(&block) instance_eval(&block) end |