Class: Smith::Tool::ExecutionBatchBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/smith/tool/execution_batch_builder.rb

Instance Method Summary collapse

Constructor Details

#initializeExecutionBatchBuilder

Returns a new instance of ExecutionBatchBuilder.



6
7
8
9
# File 'lib/smith/tool/execution_batch_builder.rb', line 6

def initialize
  @default_sequence = InvocationSequence.new
  @invocations = ExecutionBatchInvocations.new
end

Instance Method Details

#call(entries:, tools:, context:, call_admissions:) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/smith/tool/execution_batch_builder.rb', line 11

def call(entries:, tools:, context:, call_admissions:)
  sources = ExecutionBatchSources.new(entries).call
  sources_by_call = index_sources(sources)
  source_targets = build_targets(sources, tools)
  source_requests = build_requests(source_targets, sources_by_call, context)
  dispatch_calls = build_dispatch_calls(source_requests, sources_by_call)
  attributes = batch_attributes(sources, source_targets, source_requests, dispatch_calls, context)
  inherited = call_admissions && remap(call_admissions, dispatch_calls)
  build_batch(attributes, inherited)
end