Class: Csvtool::Interface::CLI::Workflows::Steps::RowExtraction::CollectRangeStep

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

Instance Method Summary collapse

Constructor Details

#initialize(stdin:, stdout:) ⇒ CollectRangeStep

Returns a new instance of CollectRangeStep.



12
13
14
15
# File 'lib/csvtool/interface/cli/workflows/steps/row_extraction/collect_range_step.rb', line 12

def initialize(stdin:, stdout:)
  @stdin = stdin
  @stdout = stdout
end

Instance Method Details

#call(context) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/csvtool/interface/cli/workflows/steps/row_extraction/collect_range_step.rb', line 17

def call(context)
  @stdout.print "Start row (1-based, inclusive): "
  start_row_input = @stdin.gets&.strip.to_s
  @stdout.print "End row (1-based, inclusive): "
  end_row_input = @stdin.gets&.strip.to_s

  context[:row_range] = Domain::RowSession::RowRange.from_inputs(
    start_row_input: start_row_input,
    end_row_input: end_row_input
  )
  nil
end