csvops 0.5.0.alpha → 0.6.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 +45 -3
- data/docs/architecture.md +61 -4
- data/docs/release-v0.6.0-alpha.md +84 -0
- data/lib/csvtool/application/use_cases/run_csv_parity.rb +70 -0
- data/lib/csvtool/cli.rb +5 -1
- data/lib/csvtool/domain/csv_parity_session/parity_options.rb +22 -0
- data/lib/csvtool/domain/csv_parity_session/parity_session.rb +20 -0
- data/lib/csvtool/domain/csv_parity_session/source_pair.rb +19 -0
- data/lib/csvtool/infrastructure/csv/csv_parity_comparator.rb +71 -0
- data/lib/csvtool/interface/cli/errors/presenter.rb +4 -0
- data/lib/csvtool/interface/cli/menu_loop.rb +5 -2
- data/lib/csvtool/interface/cli/workflows/builders/csv_parity_session_builder.rb +33 -0
- data/lib/csvtool/interface/cli/workflows/presenters/csv_parity_presenter.rb +38 -0
- data/lib/csvtool/interface/cli/workflows/run_csv_parity_workflow.rb +66 -0
- data/lib/csvtool/interface/cli/workflows/steps/parity/build_session_step.rb +25 -0
- data/lib/csvtool/interface/cli/workflows/steps/parity/collect_inputs_step.rb +32 -0
- data/lib/csvtool/interface/cli/workflows/steps/parity/execute_step.rb +26 -0
- data/lib/csvtool/version.rb +1 -1
- data/test/csvtool/application/use_cases/run_csv_parity_test.rb +160 -0
- data/test/csvtool/cli_test.rb +175 -21
- data/test/csvtool/cli_unit_test.rb +4 -4
- data/test/csvtool/domain/csv_parity_session/parity_options_test.rb +17 -0
- data/test/csvtool/domain/csv_parity_session/parity_session_test.rb +18 -0
- data/test/csvtool/domain/csv_parity_session/source_pair_test.rb +11 -0
- data/test/csvtool/infrastructure/csv/csv_parity_comparator_test.rb +78 -0
- data/test/csvtool/interface/cli/errors/presenter_test.rb +2 -0
- data/test/csvtool/interface/cli/menu_loop_test.rb +59 -16
- data/test/csvtool/interface/cli/workflows/builders/csv_parity_session_builder_test.rb +20 -0
- data/test/csvtool/interface/cli/workflows/presenters/csv_parity_presenter_test.rb +43 -0
- data/test/csvtool/interface/cli/workflows/run_csv_parity_workflow_test.rb +94 -0
- data/test/csvtool/interface/cli/workflows/steps/parity/build_session_step_test.rb +41 -0
- data/test/csvtool/interface/cli/workflows/steps/parity/collect_inputs_step_test.rb +30 -0
- data/test/csvtool/interface/cli/workflows/steps/parity/execute_step_test.rb +40 -0
- data/test/fixtures/parity_duplicates_left.csv +4 -0
- data/test/fixtures/parity_duplicates_right.csv +3 -0
- data/test/fixtures/parity_people_header_mismatch.csv +4 -0
- data/test/fixtures/parity_people_many_reordered.csv +13 -0
- data/test/fixtures/parity_people_mismatch.csv +4 -0
- data/test/fixtures/parity_people_reordered.csv +4 -0
- data/test/fixtures/parity_people_reordered.tsv +4 -0
- metadata +31 -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.6.0.alpha
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Hall
|
|
@@ -73,8 +73,10 @@ files:
|
|
|
73
73
|
- docs/release-v0.3.0-alpha.md
|
|
74
74
|
- docs/release-v0.4.0-alpha.md
|
|
75
75
|
- docs/release-v0.5.0-alpha.md
|
|
76
|
+
- docs/release-v0.6.0-alpha.md
|
|
76
77
|
- exe/csvtool
|
|
77
78
|
- lib/csvtool/application/use_cases/run_cross_csv_dedupe.rb
|
|
79
|
+
- lib/csvtool/application/use_cases/run_csv_parity.rb
|
|
78
80
|
- lib/csvtool/application/use_cases/run_extraction.rb
|
|
79
81
|
- lib/csvtool/application/use_cases/run_row_extraction.rb
|
|
80
82
|
- lib/csvtool/application/use_cases/run_row_randomization.rb
|
|
@@ -91,6 +93,9 @@ files:
|
|
|
91
93
|
- lib/csvtool/domain/cross_csv_dedupe_session/csv_profile.rb
|
|
92
94
|
- lib/csvtool/domain/cross_csv_dedupe_session/key_mapping.rb
|
|
93
95
|
- lib/csvtool/domain/cross_csv_dedupe_session/match_options.rb
|
|
96
|
+
- lib/csvtool/domain/csv_parity_session/parity_options.rb
|
|
97
|
+
- lib/csvtool/domain/csv_parity_session/parity_session.rb
|
|
98
|
+
- lib/csvtool/domain/csv_parity_session/source_pair.rb
|
|
94
99
|
- lib/csvtool/domain/row_randomization_session/randomization_options.rb
|
|
95
100
|
- lib/csvtool/domain/row_randomization_session/randomization_session.rb
|
|
96
101
|
- lib/csvtool/domain/row_randomization_session/randomization_source.rb
|
|
@@ -99,6 +104,7 @@ files:
|
|
|
99
104
|
- lib/csvtool/domain/row_session/row_source.rb
|
|
100
105
|
- lib/csvtool/domain/shared/output_destination.rb
|
|
101
106
|
- lib/csvtool/infrastructure/csv/cross_csv_deduper.rb
|
|
107
|
+
- lib/csvtool/infrastructure/csv/csv_parity_comparator.rb
|
|
102
108
|
- lib/csvtool/infrastructure/csv/header_reader.rb
|
|
103
109
|
- lib/csvtool/infrastructure/csv/row_randomizer.rb
|
|
104
110
|
- lib/csvtool/infrastructure/csv/row_streamer.rb
|
|
@@ -124,13 +130,16 @@ files:
|
|
|
124
130
|
- lib/csvtool/interface/cli/prompts/yes_no_prompt.rb
|
|
125
131
|
- lib/csvtool/interface/cli/workflows/builders/column_session_builder.rb
|
|
126
132
|
- lib/csvtool/interface/cli/workflows/builders/cross_csv_dedupe_session_builder.rb
|
|
133
|
+
- lib/csvtool/interface/cli/workflows/builders/csv_parity_session_builder.rb
|
|
127
134
|
- lib/csvtool/interface/cli/workflows/builders/row_extraction_session_builder.rb
|
|
128
135
|
- lib/csvtool/interface/cli/workflows/builders/row_randomization_session_builder.rb
|
|
129
136
|
- lib/csvtool/interface/cli/workflows/presenters/column_extraction_presenter.rb
|
|
130
137
|
- lib/csvtool/interface/cli/workflows/presenters/cross_csv_dedupe_presenter.rb
|
|
138
|
+
- lib/csvtool/interface/cli/workflows/presenters/csv_parity_presenter.rb
|
|
131
139
|
- lib/csvtool/interface/cli/workflows/presenters/row_extraction_presenter.rb
|
|
132
140
|
- lib/csvtool/interface/cli/workflows/presenters/row_randomization_presenter.rb
|
|
133
141
|
- lib/csvtool/interface/cli/workflows/run_cross_csv_dedupe_workflow.rb
|
|
142
|
+
- lib/csvtool/interface/cli/workflows/run_csv_parity_workflow.rb
|
|
134
143
|
- lib/csvtool/interface/cli/workflows/run_extraction_workflow.rb
|
|
135
144
|
- lib/csvtool/interface/cli/workflows/run_row_extraction_workflow.rb
|
|
136
145
|
- lib/csvtool/interface/cli/workflows/run_row_randomization_workflow.rb
|
|
@@ -141,6 +150,9 @@ files:
|
|
|
141
150
|
- lib/csvtool/interface/cli/workflows/steps/extraction/collect_destination_step.rb
|
|
142
151
|
- lib/csvtool/interface/cli/workflows/steps/extraction/collect_inputs_step.rb
|
|
143
152
|
- lib/csvtool/interface/cli/workflows/steps/extraction/execute_step.rb
|
|
153
|
+
- lib/csvtool/interface/cli/workflows/steps/parity/build_session_step.rb
|
|
154
|
+
- lib/csvtool/interface/cli/workflows/steps/parity/collect_inputs_step.rb
|
|
155
|
+
- lib/csvtool/interface/cli/workflows/steps/parity/execute_step.rb
|
|
144
156
|
- lib/csvtool/interface/cli/workflows/steps/row_extraction/collect_destination_step.rb
|
|
145
157
|
- lib/csvtool/interface/cli/workflows/steps/row_extraction/collect_range_step.rb
|
|
146
158
|
- lib/csvtool/interface/cli/workflows/steps/row_extraction/collect_source_step.rb
|
|
@@ -156,6 +168,7 @@ files:
|
|
|
156
168
|
- lib/csvtool/version.rb
|
|
157
169
|
- test/csvtool/application/use_cases/io_boundary_test.rb
|
|
158
170
|
- test/csvtool/application/use_cases/run_cross_csv_dedupe_test.rb
|
|
171
|
+
- test/csvtool/application/use_cases/run_csv_parity_test.rb
|
|
159
172
|
- test/csvtool/application/use_cases/run_extraction_test.rb
|
|
160
173
|
- test/csvtool/application/use_cases/run_row_extraction_test.rb
|
|
161
174
|
- test/csvtool/application/use_cases/run_row_randomization_test.rb
|
|
@@ -173,6 +186,9 @@ files:
|
|
|
173
186
|
- test/csvtool/domain/cross_csv_dedupe_session/csv_profile_test.rb
|
|
174
187
|
- test/csvtool/domain/cross_csv_dedupe_session/key_mapping_test.rb
|
|
175
188
|
- test/csvtool/domain/cross_csv_dedupe_session/match_options_test.rb
|
|
189
|
+
- test/csvtool/domain/csv_parity_session/parity_options_test.rb
|
|
190
|
+
- test/csvtool/domain/csv_parity_session/parity_session_test.rb
|
|
191
|
+
- test/csvtool/domain/csv_parity_session/source_pair_test.rb
|
|
176
192
|
- test/csvtool/domain/row_randomization_session/randomization_options_test.rb
|
|
177
193
|
- test/csvtool/domain/row_randomization_session/randomization_session_test.rb
|
|
178
194
|
- test/csvtool/domain/row_randomization_session/randomization_source_test.rb
|
|
@@ -181,6 +197,7 @@ files:
|
|
|
181
197
|
- test/csvtool/domain/row_session/row_source_test.rb
|
|
182
198
|
- test/csvtool/domain/shared/output_destination_test.rb
|
|
183
199
|
- test/csvtool/infrastructure/csv/cross_csv_deduper_test.rb
|
|
200
|
+
- test/csvtool/infrastructure/csv/csv_parity_comparator_test.rb
|
|
184
201
|
- test/csvtool/infrastructure/csv/header_reader_test.rb
|
|
185
202
|
- test/csvtool/infrastructure/csv/row_randomizer_test.rb
|
|
186
203
|
- test/csvtool/infrastructure/csv/row_streamer_test.rb
|
|
@@ -206,18 +223,24 @@ files:
|
|
|
206
223
|
- test/csvtool/interface/cli/prompts/yes_no_prompt_test.rb
|
|
207
224
|
- test/csvtool/interface/cli/workflows/builders/column_session_builder_test.rb
|
|
208
225
|
- test/csvtool/interface/cli/workflows/builders/cross_csv_dedupe_session_builder_test.rb
|
|
226
|
+
- test/csvtool/interface/cli/workflows/builders/csv_parity_session_builder_test.rb
|
|
209
227
|
- test/csvtool/interface/cli/workflows/builders/row_extraction_session_builder_test.rb
|
|
210
228
|
- test/csvtool/interface/cli/workflows/builders/row_randomization_session_builder_test.rb
|
|
211
229
|
- test/csvtool/interface/cli/workflows/presenters/column_extraction_presenter_test.rb
|
|
212
230
|
- test/csvtool/interface/cli/workflows/presenters/cross_csv_dedupe_presenter_test.rb
|
|
231
|
+
- test/csvtool/interface/cli/workflows/presenters/csv_parity_presenter_test.rb
|
|
213
232
|
- test/csvtool/interface/cli/workflows/presenters/row_extraction_presenter_test.rb
|
|
214
233
|
- test/csvtool/interface/cli/workflows/presenters/row_randomization_presenter_test.rb
|
|
215
234
|
- test/csvtool/interface/cli/workflows/run_cross_csv_dedupe_workflow_test.rb
|
|
235
|
+
- test/csvtool/interface/cli/workflows/run_csv_parity_workflow_test.rb
|
|
216
236
|
- test/csvtool/interface/cli/workflows/run_extraction_workflow_test.rb
|
|
217
237
|
- test/csvtool/interface/cli/workflows/run_row_extraction_workflow_test.rb
|
|
218
238
|
- test/csvtool/interface/cli/workflows/run_row_randomization_workflow_test.rb
|
|
219
239
|
- test/csvtool/interface/cli/workflows/steps/cross_csv_dedupe/collect_options_step_test.rb
|
|
220
240
|
- test/csvtool/interface/cli/workflows/steps/extraction/collect_inputs_step_test.rb
|
|
241
|
+
- test/csvtool/interface/cli/workflows/steps/parity/build_session_step_test.rb
|
|
242
|
+
- test/csvtool/interface/cli/workflows/steps/parity/collect_inputs_step_test.rb
|
|
243
|
+
- test/csvtool/interface/cli/workflows/steps/parity/execute_step_test.rb
|
|
221
244
|
- test/csvtool/interface/cli/workflows/steps/row_extraction/collect_source_step_test.rb
|
|
222
245
|
- test/csvtool/interface/cli/workflows/steps/row_extraction/execute_step_test.rb
|
|
223
246
|
- test/csvtool/interface/cli/workflows/steps/row_extraction/read_headers_step_test.rb
|
|
@@ -237,6 +260,13 @@ files:
|
|
|
237
260
|
- test/fixtures/dedupe_source_no_headers.csv
|
|
238
261
|
- test/fixtures/dedupe_source_normalization.csv
|
|
239
262
|
- test/fixtures/empty.csv
|
|
263
|
+
- test/fixtures/parity_duplicates_left.csv
|
|
264
|
+
- test/fixtures/parity_duplicates_right.csv
|
|
265
|
+
- test/fixtures/parity_people_header_mismatch.csv
|
|
266
|
+
- test/fixtures/parity_people_many_reordered.csv
|
|
267
|
+
- test/fixtures/parity_people_mismatch.csv
|
|
268
|
+
- test/fixtures/parity_people_reordered.csv
|
|
269
|
+
- test/fixtures/parity_people_reordered.tsv
|
|
240
270
|
- test/fixtures/sample_people.csv
|
|
241
271
|
- test/fixtures/sample_people.tsv
|
|
242
272
|
- test/fixtures/sample_people_bad_tail.csv
|