Class: LangGraphRB::MultiSend

Inherits:
Object
  • Object
show all
Defined in:
lib/langgraph_rb/command.rb

Overview

MultiSend creates multiple parallel execution branches

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*sends) ⇒ MultiSend

Returns a new instance of MultiSend.



57
58
59
# File 'lib/langgraph_rb/command.rb', line 57

def initialize(*sends)
  @sends = sends.flatten
end

Instance Attribute Details

#sendsObject (readonly)

Returns the value of attribute sends.



55
56
57
# File 'lib/langgraph_rb/command.rb', line 55

def sends
  @sends
end

Class Method Details

.fan_out(node, payloads) ⇒ Object



66
67
68
69
# File 'lib/langgraph_rb/command.rb', line 66

def self.fan_out(node, payloads)
  sends = payloads.map { |payload| Send.new(to: node, payload: payload) }
  new(sends)
end

.to_multiple(destinations, payload = {}) ⇒ Object



61
62
63
64
# File 'lib/langgraph_rb/command.rb', line 61

def self.to_multiple(destinations, payload = {})
  sends = destinations.map { |dest| Send.new(to: dest, payload: payload) }
  new(sends)
end

Instance Method Details

#inspectObject



75
76
77
# File 'lib/langgraph_rb/command.rb', line 75

def inspect
  to_s
end

#to_sObject



71
72
73
# File 'lib/langgraph_rb/command.rb', line 71

def to_s
  "#<MultiSend #{@sends.map(&:to_s).join(', ')}>"
end