csvops 0.6.0.alpha → 0.7.0.alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +51 -12
- data/docs/architecture.md +61 -4
- data/docs/release-v0.7.0-alpha.md +87 -0
- data/lib/csvtool/application/use_cases/run_csv_split.rb +97 -0
- data/lib/csvtool/cli.rb +5 -1
- data/lib/csvtool/domain/csv_split_session/split_options.rb +27 -0
- data/lib/csvtool/domain/csv_split_session/split_session.rb +20 -0
- data/lib/csvtool/domain/csv_split_session/split_source.rb +17 -0
- data/lib/csvtool/infrastructure/csv/csv_splitter.rb +64 -0
- data/lib/csvtool/infrastructure/output/csv_split_manifest_writer.rb +20 -0
- data/lib/csvtool/interface/cli/errors/presenter.rb +8 -0
- data/lib/csvtool/interface/cli/menu_loop.rb +5 -2
- data/lib/csvtool/interface/cli/prompts/chunk_size_prompt.rb +21 -0
- data/lib/csvtool/interface/cli/prompts/split_manifest_prompt.rb +30 -0
- data/lib/csvtool/interface/cli/prompts/split_output_prompt.rb +38 -0
- data/lib/csvtool/interface/cli/workflows/builders/csv_split_session_builder.rb +44 -0
- data/lib/csvtool/interface/cli/workflows/presenters/csv_split_presenter.rb +26 -0
- data/lib/csvtool/interface/cli/workflows/run_csv_split_workflow.rb +89 -0
- data/lib/csvtool/interface/cli/workflows/steps/csv_split/build_session_step.rb +30 -0
- data/lib/csvtool/interface/cli/workflows/steps/csv_split/collect_inputs_step.rb +43 -0
- data/lib/csvtool/interface/cli/workflows/steps/csv_split/collect_manifest_step.rb +30 -0
- data/lib/csvtool/interface/cli/workflows/steps/csv_split/collect_output_step.rb +31 -0
- data/lib/csvtool/interface/cli/workflows/steps/csv_split/execute_step.rb +36 -0
- data/lib/csvtool/version.rb +1 -1
- data/test/csvtool/application/use_cases/run_csv_split_test.rb +124 -0
- data/test/csvtool/cli_test.rb +76 -29
- data/test/csvtool/infrastructure/csv/csv_splitter_test.rb +68 -0
- data/test/csvtool/infrastructure/output/csv_split_manifest_writer_test.rb +25 -0
- data/test/csvtool/interface/cli/menu_loop_test.rb +81 -130
- data/test/csvtool/interface/cli/prompts/chunk_size_prompt_test.rb +17 -0
- data/test/csvtool/interface/cli/prompts/split_manifest_prompt_test.rb +42 -0
- data/test/csvtool/interface/cli/prompts/split_output_prompt_test.rb +22 -0
- data/test/csvtool/interface/cli/workflows/builders/csv_split_session_builder_test.rb +30 -0
- data/test/csvtool/interface/cli/workflows/presenters/csv_split_presenter_test.rb +26 -0
- data/test/csvtool/interface/cli/workflows/run_csv_split_workflow_test.rb +200 -0
- data/test/csvtool/interface/cli/workflows/steps/csv_split/build_session_step_test.rb +40 -0
- data/test/csvtool/interface/cli/workflows/steps/csv_split/collect_inputs_step_test.rb +64 -0
- data/test/csvtool/interface/cli/workflows/steps/csv_split/collect_manifest_step_test.rb +30 -0
- data/test/csvtool/interface/cli/workflows/steps/csv_split/collect_output_step_test.rb +32 -0
- data/test/csvtool/interface/cli/workflows/steps/csv_split/execute_step_test.rb +83 -0
- data/test/fixtures/split_people_25.csv +26 -0
- metadata +34 -1
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: csvops
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0.alpha
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Hall
|
|
@@ -74,9 +74,11 @@ files:
|
|
|
74
74
|
- docs/release-v0.4.0-alpha.md
|
|
75
75
|
- docs/release-v0.5.0-alpha.md
|
|
76
76
|
- docs/release-v0.6.0-alpha.md
|
|
77
|
+
- docs/release-v0.7.0-alpha.md
|
|
77
78
|
- exe/csvtool
|
|
78
79
|
- lib/csvtool/application/use_cases/run_cross_csv_dedupe.rb
|
|
79
80
|
- lib/csvtool/application/use_cases/run_csv_parity.rb
|
|
81
|
+
- lib/csvtool/application/use_cases/run_csv_split.rb
|
|
80
82
|
- lib/csvtool/application/use_cases/run_extraction.rb
|
|
81
83
|
- lib/csvtool/application/use_cases/run_row_extraction.rb
|
|
82
84
|
- lib/csvtool/application/use_cases/run_row_randomization.rb
|
|
@@ -96,6 +98,9 @@ files:
|
|
|
96
98
|
- lib/csvtool/domain/csv_parity_session/parity_options.rb
|
|
97
99
|
- lib/csvtool/domain/csv_parity_session/parity_session.rb
|
|
98
100
|
- lib/csvtool/domain/csv_parity_session/source_pair.rb
|
|
101
|
+
- lib/csvtool/domain/csv_split_session/split_options.rb
|
|
102
|
+
- lib/csvtool/domain/csv_split_session/split_session.rb
|
|
103
|
+
- lib/csvtool/domain/csv_split_session/split_source.rb
|
|
99
104
|
- lib/csvtool/domain/row_randomization_session/randomization_options.rb
|
|
100
105
|
- lib/csvtool/domain/row_randomization_session/randomization_session.rb
|
|
101
106
|
- lib/csvtool/domain/row_randomization_session/randomization_source.rb
|
|
@@ -105,6 +110,7 @@ files:
|
|
|
105
110
|
- lib/csvtool/domain/shared/output_destination.rb
|
|
106
111
|
- lib/csvtool/infrastructure/csv/cross_csv_deduper.rb
|
|
107
112
|
- lib/csvtool/infrastructure/csv/csv_parity_comparator.rb
|
|
113
|
+
- lib/csvtool/infrastructure/csv/csv_splitter.rb
|
|
108
114
|
- lib/csvtool/infrastructure/csv/header_reader.rb
|
|
109
115
|
- lib/csvtool/infrastructure/csv/row_randomizer.rb
|
|
110
116
|
- lib/csvtool/infrastructure/csv/row_streamer.rb
|
|
@@ -116,8 +122,10 @@ files:
|
|
|
116
122
|
- lib/csvtool/infrastructure/output/csv_randomized_row_file_writer.rb
|
|
117
123
|
- lib/csvtool/infrastructure/output/csv_row_console_writer.rb
|
|
118
124
|
- lib/csvtool/infrastructure/output/csv_row_file_writer.rb
|
|
125
|
+
- lib/csvtool/infrastructure/output/csv_split_manifest_writer.rb
|
|
119
126
|
- lib/csvtool/interface/cli/errors/presenter.rb
|
|
120
127
|
- lib/csvtool/interface/cli/menu_loop.rb
|
|
128
|
+
- lib/csvtool/interface/cli/prompts/chunk_size_prompt.rb
|
|
121
129
|
- lib/csvtool/interface/cli/prompts/column_selector_prompt.rb
|
|
122
130
|
- lib/csvtool/interface/cli/prompts/confirm_prompt.rb
|
|
123
131
|
- lib/csvtool/interface/cli/prompts/dedupe_key_selector_prompt.rb
|
|
@@ -127,25 +135,35 @@ files:
|
|
|
127
135
|
- lib/csvtool/interface/cli/prompts/seed_prompt.rb
|
|
128
136
|
- lib/csvtool/interface/cli/prompts/separator_prompt.rb
|
|
129
137
|
- lib/csvtool/interface/cli/prompts/skip_blanks_prompt.rb
|
|
138
|
+
- lib/csvtool/interface/cli/prompts/split_manifest_prompt.rb
|
|
139
|
+
- lib/csvtool/interface/cli/prompts/split_output_prompt.rb
|
|
130
140
|
- lib/csvtool/interface/cli/prompts/yes_no_prompt.rb
|
|
131
141
|
- lib/csvtool/interface/cli/workflows/builders/column_session_builder.rb
|
|
132
142
|
- lib/csvtool/interface/cli/workflows/builders/cross_csv_dedupe_session_builder.rb
|
|
133
143
|
- lib/csvtool/interface/cli/workflows/builders/csv_parity_session_builder.rb
|
|
144
|
+
- lib/csvtool/interface/cli/workflows/builders/csv_split_session_builder.rb
|
|
134
145
|
- lib/csvtool/interface/cli/workflows/builders/row_extraction_session_builder.rb
|
|
135
146
|
- lib/csvtool/interface/cli/workflows/builders/row_randomization_session_builder.rb
|
|
136
147
|
- lib/csvtool/interface/cli/workflows/presenters/column_extraction_presenter.rb
|
|
137
148
|
- lib/csvtool/interface/cli/workflows/presenters/cross_csv_dedupe_presenter.rb
|
|
138
149
|
- lib/csvtool/interface/cli/workflows/presenters/csv_parity_presenter.rb
|
|
150
|
+
- lib/csvtool/interface/cli/workflows/presenters/csv_split_presenter.rb
|
|
139
151
|
- lib/csvtool/interface/cli/workflows/presenters/row_extraction_presenter.rb
|
|
140
152
|
- lib/csvtool/interface/cli/workflows/presenters/row_randomization_presenter.rb
|
|
141
153
|
- lib/csvtool/interface/cli/workflows/run_cross_csv_dedupe_workflow.rb
|
|
142
154
|
- lib/csvtool/interface/cli/workflows/run_csv_parity_workflow.rb
|
|
155
|
+
- lib/csvtool/interface/cli/workflows/run_csv_split_workflow.rb
|
|
143
156
|
- lib/csvtool/interface/cli/workflows/run_extraction_workflow.rb
|
|
144
157
|
- lib/csvtool/interface/cli/workflows/run_row_extraction_workflow.rb
|
|
145
158
|
- lib/csvtool/interface/cli/workflows/run_row_randomization_workflow.rb
|
|
146
159
|
- lib/csvtool/interface/cli/workflows/steps/cross_csv_dedupe/collect_options_step.rb
|
|
147
160
|
- lib/csvtool/interface/cli/workflows/steps/cross_csv_dedupe/collect_profiles_step.rb
|
|
148
161
|
- lib/csvtool/interface/cli/workflows/steps/cross_csv_dedupe/execute_step.rb
|
|
162
|
+
- lib/csvtool/interface/cli/workflows/steps/csv_split/build_session_step.rb
|
|
163
|
+
- lib/csvtool/interface/cli/workflows/steps/csv_split/collect_inputs_step.rb
|
|
164
|
+
- lib/csvtool/interface/cli/workflows/steps/csv_split/collect_manifest_step.rb
|
|
165
|
+
- lib/csvtool/interface/cli/workflows/steps/csv_split/collect_output_step.rb
|
|
166
|
+
- lib/csvtool/interface/cli/workflows/steps/csv_split/execute_step.rb
|
|
149
167
|
- lib/csvtool/interface/cli/workflows/steps/extraction/build_preview_step.rb
|
|
150
168
|
- lib/csvtool/interface/cli/workflows/steps/extraction/collect_destination_step.rb
|
|
151
169
|
- lib/csvtool/interface/cli/workflows/steps/extraction/collect_inputs_step.rb
|
|
@@ -169,6 +187,7 @@ files:
|
|
|
169
187
|
- test/csvtool/application/use_cases/io_boundary_test.rb
|
|
170
188
|
- test/csvtool/application/use_cases/run_cross_csv_dedupe_test.rb
|
|
171
189
|
- test/csvtool/application/use_cases/run_csv_parity_test.rb
|
|
190
|
+
- test/csvtool/application/use_cases/run_csv_split_test.rb
|
|
172
191
|
- test/csvtool/application/use_cases/run_extraction_test.rb
|
|
173
192
|
- test/csvtool/application/use_cases/run_row_extraction_test.rb
|
|
174
193
|
- test/csvtool/application/use_cases/run_row_randomization_test.rb
|
|
@@ -198,6 +217,7 @@ files:
|
|
|
198
217
|
- test/csvtool/domain/shared/output_destination_test.rb
|
|
199
218
|
- test/csvtool/infrastructure/csv/cross_csv_deduper_test.rb
|
|
200
219
|
- test/csvtool/infrastructure/csv/csv_parity_comparator_test.rb
|
|
220
|
+
- test/csvtool/infrastructure/csv/csv_splitter_test.rb
|
|
201
221
|
- test/csvtool/infrastructure/csv/header_reader_test.rb
|
|
202
222
|
- test/csvtool/infrastructure/csv/row_randomizer_test.rb
|
|
203
223
|
- test/csvtool/infrastructure/csv/row_streamer_test.rb
|
|
@@ -209,8 +229,10 @@ files:
|
|
|
209
229
|
- test/csvtool/infrastructure/output/csv_randomized_row_file_writer_test.rb
|
|
210
230
|
- test/csvtool/infrastructure/output/csv_row_console_writer_test.rb
|
|
211
231
|
- test/csvtool/infrastructure/output/csv_row_file_writer_test.rb
|
|
232
|
+
- test/csvtool/infrastructure/output/csv_split_manifest_writer_test.rb
|
|
212
233
|
- test/csvtool/interface/cli/errors/presenter_test.rb
|
|
213
234
|
- test/csvtool/interface/cli/menu_loop_test.rb
|
|
235
|
+
- test/csvtool/interface/cli/prompts/chunk_size_prompt_test.rb
|
|
214
236
|
- test/csvtool/interface/cli/prompts/column_selector_prompt_test.rb
|
|
215
237
|
- test/csvtool/interface/cli/prompts/confirm_prompt_test.rb
|
|
216
238
|
- test/csvtool/interface/cli/prompts/dedupe_key_selector_prompt_test.rb
|
|
@@ -220,23 +242,33 @@ files:
|
|
|
220
242
|
- test/csvtool/interface/cli/prompts/seed_prompt_test.rb
|
|
221
243
|
- test/csvtool/interface/cli/prompts/separator_prompt_test.rb
|
|
222
244
|
- test/csvtool/interface/cli/prompts/skip_blanks_prompt_test.rb
|
|
245
|
+
- test/csvtool/interface/cli/prompts/split_manifest_prompt_test.rb
|
|
246
|
+
- test/csvtool/interface/cli/prompts/split_output_prompt_test.rb
|
|
223
247
|
- test/csvtool/interface/cli/prompts/yes_no_prompt_test.rb
|
|
224
248
|
- test/csvtool/interface/cli/workflows/builders/column_session_builder_test.rb
|
|
225
249
|
- test/csvtool/interface/cli/workflows/builders/cross_csv_dedupe_session_builder_test.rb
|
|
226
250
|
- test/csvtool/interface/cli/workflows/builders/csv_parity_session_builder_test.rb
|
|
251
|
+
- test/csvtool/interface/cli/workflows/builders/csv_split_session_builder_test.rb
|
|
227
252
|
- test/csvtool/interface/cli/workflows/builders/row_extraction_session_builder_test.rb
|
|
228
253
|
- test/csvtool/interface/cli/workflows/builders/row_randomization_session_builder_test.rb
|
|
229
254
|
- test/csvtool/interface/cli/workflows/presenters/column_extraction_presenter_test.rb
|
|
230
255
|
- test/csvtool/interface/cli/workflows/presenters/cross_csv_dedupe_presenter_test.rb
|
|
231
256
|
- test/csvtool/interface/cli/workflows/presenters/csv_parity_presenter_test.rb
|
|
257
|
+
- test/csvtool/interface/cli/workflows/presenters/csv_split_presenter_test.rb
|
|
232
258
|
- test/csvtool/interface/cli/workflows/presenters/row_extraction_presenter_test.rb
|
|
233
259
|
- test/csvtool/interface/cli/workflows/presenters/row_randomization_presenter_test.rb
|
|
234
260
|
- test/csvtool/interface/cli/workflows/run_cross_csv_dedupe_workflow_test.rb
|
|
235
261
|
- test/csvtool/interface/cli/workflows/run_csv_parity_workflow_test.rb
|
|
262
|
+
- test/csvtool/interface/cli/workflows/run_csv_split_workflow_test.rb
|
|
236
263
|
- test/csvtool/interface/cli/workflows/run_extraction_workflow_test.rb
|
|
237
264
|
- test/csvtool/interface/cli/workflows/run_row_extraction_workflow_test.rb
|
|
238
265
|
- test/csvtool/interface/cli/workflows/run_row_randomization_workflow_test.rb
|
|
239
266
|
- test/csvtool/interface/cli/workflows/steps/cross_csv_dedupe/collect_options_step_test.rb
|
|
267
|
+
- test/csvtool/interface/cli/workflows/steps/csv_split/build_session_step_test.rb
|
|
268
|
+
- test/csvtool/interface/cli/workflows/steps/csv_split/collect_inputs_step_test.rb
|
|
269
|
+
- test/csvtool/interface/cli/workflows/steps/csv_split/collect_manifest_step_test.rb
|
|
270
|
+
- test/csvtool/interface/cli/workflows/steps/csv_split/collect_output_step_test.rb
|
|
271
|
+
- test/csvtool/interface/cli/workflows/steps/csv_split/execute_step_test.rb
|
|
240
272
|
- test/csvtool/interface/cli/workflows/steps/extraction/collect_inputs_step_test.rb
|
|
241
273
|
- test/csvtool/interface/cli/workflows/steps/parity/build_session_step_test.rb
|
|
242
274
|
- test/csvtool/interface/cli/workflows/steps/parity/collect_inputs_step_test.rb
|
|
@@ -274,6 +306,7 @@ files:
|
|
|
274
306
|
- test/fixtures/sample_people_colon.txt
|
|
275
307
|
- test/fixtures/sample_people_many.csv
|
|
276
308
|
- test/fixtures/sample_people_no_headers.csv
|
|
309
|
+
- test/fixtures/split_people_25.csv
|
|
277
310
|
- test/test_helper.rb
|
|
278
311
|
homepage: https://github.com/RobertAndrewHall/csvops
|
|
279
312
|
licenses:
|