Module: Pallets::DSL::Workflow
- Included in:
- Workflow
- Defined in:
- lib/pallets/dsl/workflow.rb
Instance Method Summary collapse
Instance Method Details
#task(arg, depends_on: nil, max_failures: nil, &block) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/pallets/dsl/workflow.rb', line 4 def task(arg, depends_on: nil, max_failures: nil, &block) klass, dependencies = case arg when Hash # The `task Foo => Bar` notation arg.first else # The `task Foo, depends_on: Bar` notation [arg, depends_on] end task_class = klass.to_s dependencies = Array(dependencies).compact.uniq.map(&:to_s) graph.add(task_class, dependencies) task_config[task_class] = { 'task_class' => task_class, 'max_failures' => max_failures || Pallets.configuration.max_failures } nil end |