Class: Csvtool::Interface::CLI::Workflows::Steps::Extraction::CollectInputsStep
- Inherits:
-
Object
- Object
- Csvtool::Interface::CLI::Workflows::Steps::Extraction::CollectInputsStep
- Defined in:
- lib/csvtool/interface/cli/workflows/steps/extraction/collect_inputs_step.rb
Instance Method Summary collapse
- #call(context) ⇒ Object
-
#initialize(file_path_prompt:, separator_prompt:, column_selector_prompt:, skip_blanks_prompt:) ⇒ CollectInputsStep
constructor
A new instance of CollectInputsStep.
Constructor Details
#initialize(file_path_prompt:, separator_prompt:, column_selector_prompt:, skip_blanks_prompt:) ⇒ CollectInputsStep
Returns a new instance of CollectInputsStep.
10 11 12 13 14 15 |
# File 'lib/csvtool/interface/cli/workflows/steps/extraction/collect_inputs_step.rb', line 10 def initialize(file_path_prompt:, separator_prompt:, column_selector_prompt:, skip_blanks_prompt:) @file_path_prompt = file_path_prompt @separator_prompt = separator_prompt @column_selector_prompt = column_selector_prompt @skip_blanks_prompt = skip_blanks_prompt end |
Instance Method Details
#call(context) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/csvtool/interface/cli/workflows/steps/extraction/collect_inputs_step.rb', line 17 def call(context) file_path = @file_path_prompt.call col_sep = @separator_prompt.call return :halt if col_sep.nil? header_result = context.fetch(:use_case).read_headers(file_path: file_path, col_sep: col_sep) unless header_result.ok? context.fetch(:handle_error).call(header_result) return :halt end headers = header_result.data[:headers] column_name = @column_selector_prompt.call(headers) return :halt if column_name.nil? skip_blanks = @skip_blanks_prompt.call context[:session] = context.fetch(:session_builder).call( file_path: file_path, col_sep: col_sep, column_name: column_name, skip_blanks: skip_blanks ) nil end |