Class: Csvtool::Interface::CLI::Workflows::RunCsvStatsWorkflow
- Inherits:
-
Object
- Object
- Csvtool::Interface::CLI::Workflows::RunCsvStatsWorkflow
- Defined in:
- lib/csvtool/interface/cli/workflows/run_csv_stats_workflow.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(stdin:, stdout:, stderr: stdout, use_case: Application::UseCases::RunCsvStats.new) ⇒ RunCsvStatsWorkflow
constructor
A new instance of RunCsvStatsWorkflow.
Constructor Details
#initialize(stdin:, stdout:, stderr: stdout, use_case: Application::UseCases::RunCsvStats.new) ⇒ RunCsvStatsWorkflow
Returns a new instance of RunCsvStatsWorkflow.
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/csvtool/interface/cli/workflows/run_csv_stats_workflow.rb', line 24 def initialize(stdin:, stdout:, stderr: stdout, use_case: Application::UseCases::RunCsvStats.new) @stdin = stdin @stdout = stdout @stderr = stderr @use_case = use_case @errors = Interface::CLI::Errors::Presenter.new(stdout: @stderr) @session_builder = Builders::CsvStatsSessionBuilder.new @presenter = Presenters::CsvStatsPresenter.new(stdout: stdout) @output_destination_mapper = Support::OutputDestinationMapper.new @result_error_handler = Support::ResultErrorHandler.new(errors: @errors) end |
Instance Method Details
#call ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/csvtool/interface/cli/workflows/run_csv_stats_workflow.rb', line 36 def call context = { use_case: @use_case, session_builder: @session_builder, output_destination_mapper: @output_destination_mapper, presenter: @presenter, handle_error: method(:handle_error) } pipeline = Steps::WorkflowStepPipeline.new(steps: [ Steps::CsvStats::CollectInputsStep.new( file_path_prompt: Interface::CLI::Prompts::FilePathPrompt.new(stdin: @stdin, stdout: @stderr), separator_prompt: Interface::CLI::Prompts::SeparatorPrompt.new(stdin: @stdin, stdout: @stderr, errors: @errors), headers_present_prompt: Interface::CLI::Prompts::HeadersPresentPrompt.new(stdin: @stdin, stdout: @stderr) ), Steps::CsvStats::CollectDestinationStep.new( output_destination_prompt: Interface::CLI::Prompts::OutputDestinationPrompt.new( stdin: @stdin, stdout: @stderr, errors: @errors ) ), Steps::CsvStats::BuildSessionStep.new, Steps::CsvStats::ExecuteStep.new ]) pipeline.call(context) nil end |