Class: Trailblazer::Activity::DSL::Linear::Normalizer::OutputTuples::End

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

Overview

Connector representing a (to-be-created?) terminus when using End(:semantic).

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#semanticObject

Returns the value of attribute semantic

Returns:

  • (Object)

    the current value of semantic



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

def semantic
  @semantic
end

Instance Method Details

#to_a(ctx) ⇒ Object



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

def to_a(ctx)
  end_id     = Linear::Strategy.end_id(semantic: semantic)
  end_exists = Activity::Adds::Insert.find_index(ctx[:sequence], end_id)

  terminus = Activity.End(semantic)

  adds = end_exists ? [] : OutputTuples::Connections.add_terminus(terminus, id: end_id, sequence: ctx[:sequence], normalizers: ctx[:normalizers])

  return [Linear::Sequence::Search.method(:ById), end_id], adds
end