Class: Trailblazer::Activity::DSL::Linear::Sequence

Inherits:
Array
  • Object
show all
Defined in:
lib/trailblazer/activity/dsl/linear.rb

Overview

Sequence consists of rows. row consisting of task, connections_searches, data].

Defined Under Namespace

Classes: IndexError

Class Method Summary collapse

Class Method Details

.apply_adds(sequence, adds) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/trailblazer/activity/dsl/linear.rb', line 32

def self.apply_adds(sequence, adds)
  adds.each do |add|
    sequence = insert_row(sequence, **add)
  end

  sequence
end

.create_row(task:, magnetic_to:, wirings:, **options) ⇒ Object

Return row consisting of task, connections_searches, data].



15
16
17
18
19
20
21
22
# File 'lib/trailblazer/activity/dsl/linear.rb', line 15

def self.create_row(task:, magnetic_to:, wirings:, **options)
  [
    magnetic_to,
    task,
    wirings,
    options # {id: "Start.success"}
  ]
end

.insert_row(sequence, row:, insert:) ⇒ Object

TODO: name it or something



26
27
28
29
30
# File 'lib/trailblazer/activity/dsl/linear.rb', line 26

def self.insert_row(sequence, row:, insert:)
  insert_function, *args = insert

  insert_function.(sequence, [row], *args)
end