Module: Trailblazer::Activity::DSL::Linear::Merge
- Defined in:
- lib/trailblazer/activity/dsl/linear/feature/merge.rb
Defined Under Namespace
Modules: DSL
Class Method Summary collapse
-
.call(old_seq, new_seq, end_id: "End.success") ⇒ Object
Compile-time logic to merge two activities.
- .strip_start_and_ends(seq, end_id:) ⇒ Object
Class Method Details
.call(old_seq, new_seq, end_id: "End.success") ⇒ Object
Compile-time logic to merge two activities.
19 20 21 22 23 24 25 26 |
# File 'lib/trailblazer/activity/dsl/linear/feature/merge.rb', line 19 def self.call(old_seq, new_seq, end_id: "End.success") # DISCUSS: also Insert new_seq = strip_start_and_ends(new_seq, end_id: end_id) _seq = Adds.apply_adds( old_seq, new_seq.collect { |row| {insert: [Adds::Insert.method(:Prepend), end_id], row: row} } ) end |
.strip_start_and_ends(seq, end_id:) ⇒ Object
28 29 30 31 32 |
# File 'lib/trailblazer/activity/dsl/linear/feature/merge.rb', line 28 def self.strip_start_and_ends(seq, end_id:) cut_off_index = end_id.nil? ? seq.size : Adds::Insert.find_index(seq, end_id) # find the "first" end. seq[1..cut_off_index - 1] end |