Class: Csvtool::Interface::CLI::Workflows::Steps::RowRandomization::CollectDestinationStep

Inherits:
Object
  • Object
show all
Defined in:
lib/csvtool/interface/cli/workflows/steps/row_randomization/collect_destination_step.rb

Instance Method Summary collapse

Constructor Details

#initialize(output_destination_prompt:) ⇒ CollectDestinationStep

Returns a new instance of CollectDestinationStep.



10
11
12
# File 'lib/csvtool/interface/cli/workflows/steps/row_randomization/collect_destination_step.rb', line 10

def initialize(output_destination_prompt:)
  @output_destination_prompt = output_destination_prompt
end

Instance Method Details

#call(context) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/csvtool/interface/cli/workflows/steps/row_randomization/collect_destination_step.rb', line 14

def call(context)
  output_destination = @output_destination_prompt.call
  return :halt if output_destination.nil?

  destination = context.fetch(:output_destination_mapper).call(output_destination)
  context[:session] = context.fetch(:session_builder).call(
    file_path: context.fetch(:file_path),
    col_sep: context.fetch(:col_sep),
    headers_present: context.fetch(:headers_present),
    seed: context.fetch(:seed),
    destination: destination
  )
  nil
end