Class: Trailblazer::Activity::Introspect::Graph

Inherits:
Object
  • Object
show all
Defined in:
lib/trailblazer/activity/introspect.rb

Defined Under Namespace

Classes: Node, Outgoing

Instance Method Summary collapse

Constructor Details

#initialize(activity) ⇒ Graph

Returns a new instance of Graph.



11
12
13
14
15
16
17
# File 'lib/trailblazer/activity/introspect.rb', line 11

def initialize(activity)
  @activity = activity
  @schema   = activity.to_h or raise
  @circuit  = @schema[:circuit]
  @map      = @circuit.to_h[:map]
  @configs  = @schema[:nodes]
end

Instance Method Details

#collect(strategy: :circuit) ⇒ Object



25
26
27
# File 'lib/trailblazer/activity/introspect.rb', line 25

def collect(strategy: :circuit)
  @map.keys.each_with_index.collect { |task, i| yield find_with_block { |node| node.task == task }, i }
end

#find(id = nil, &block) ⇒ Object



19
20
21
22
23
# File 'lib/trailblazer/activity/introspect.rb', line 19

def find(id = nil, &block)
  return find_by_id(id) unless block_given?

  find_with_block(&block)
end

#stop_eventsObject



29
30
31
# File 'lib/trailblazer/activity/introspect.rb', line 29

def stop_events
  @circuit.to_h[:end_events]
end