csvops 0.2.0.alpha → 0.3.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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +39 -5
  3. data/docs/release-v0.3.0-alpha.md +74 -0
  4. data/lib/csvtool/application/use_cases/run_row_randomization.rb +105 -0
  5. data/lib/csvtool/cli.rb +5 -1
  6. data/lib/csvtool/domain/row_randomization_session/randomization_options.rb +17 -0
  7. data/lib/csvtool/domain/row_randomization_session/randomization_output_destination.rb +31 -0
  8. data/lib/csvtool/domain/row_randomization_session/randomization_session.rb +25 -0
  9. data/lib/csvtool/domain/row_randomization_session/randomization_source.rb +23 -0
  10. data/lib/csvtool/infrastructure/csv/row_randomizer.rb +83 -0
  11. data/lib/csvtool/interface/cli/errors/presenter.rb +4 -0
  12. data/lib/csvtool/interface/cli/menu_loop.rb +5 -2
  13. data/lib/csvtool/interface/cli/prompts/headers_present_prompt.rb +22 -0
  14. data/lib/csvtool/interface/cli/prompts/seed_prompt.rb +29 -0
  15. data/lib/csvtool/version.rb +1 -1
  16. data/test/csvtool/application/use_cases/run_row_randomization_test.rb +124 -0
  17. data/test/csvtool/cli_test.rb +117 -12
  18. data/test/csvtool/cli_unit_test.rb +14 -2
  19. data/test/csvtool/domain/row_randomization_session/randomization_options_test.rb +20 -0
  20. data/test/csvtool/domain/row_randomization_session/randomization_output_destination_test.rb +21 -0
  21. data/test/csvtool/domain/row_randomization_session/randomization_session_test.rb +26 -0
  22. data/test/csvtool/domain/row_randomization_session/randomization_source_test.rb +28 -0
  23. data/test/csvtool/infrastructure/csv/row_randomizer_test.rb +37 -0
  24. data/test/csvtool/interface/cli/errors/presenter_test.rb +2 -0
  25. data/test/csvtool/interface/cli/menu_loop_test.rb +41 -10
  26. data/test/csvtool/interface/cli/prompts/headers_present_prompt_test.rb +14 -0
  27. data/test/csvtool/interface/cli/prompts/seed_prompt_test.rb +39 -0
  28. data/test/fixtures/sample_people_no_headers.csv +3 -0
  29. metadata +19 -1
@@ -0,0 +1,3 @@
1
+ Alice,London
2
+ Bob,Paris
3
+ Cara,Berlin
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.2.0.alpha
4
+ version: 0.3.0.alpha
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Hall
@@ -69,9 +69,11 @@ files:
69
69
  - csvops.gemspec
70
70
  - docs/release-v0.1.0-alpha.md
71
71
  - docs/release-v0.2.0-alpha.md
72
+ - docs/release-v0.3.0-alpha.md
72
73
  - exe/csvtool
73
74
  - lib/csvtool/application/use_cases/run_extraction.rb
74
75
  - lib/csvtool/application/use_cases/run_row_extraction.rb
76
+ - lib/csvtool/application/use_cases/run_row_randomization.rb
75
77
  - lib/csvtool/cli.rb
76
78
  - lib/csvtool/domain/column_session/column_selection.rb
77
79
  - lib/csvtool/domain/column_session/column_session.rb
@@ -81,11 +83,16 @@ files:
81
83
  - lib/csvtool/domain/column_session/output_destination.rb
82
84
  - lib/csvtool/domain/column_session/preview.rb
83
85
  - lib/csvtool/domain/column_session/separator.rb
86
+ - lib/csvtool/domain/row_randomization_session/randomization_options.rb
87
+ - lib/csvtool/domain/row_randomization_session/randomization_output_destination.rb
88
+ - lib/csvtool/domain/row_randomization_session/randomization_session.rb
89
+ - lib/csvtool/domain/row_randomization_session/randomization_source.rb
84
90
  - lib/csvtool/domain/row_session/row_output_destination.rb
85
91
  - lib/csvtool/domain/row_session/row_range.rb
86
92
  - lib/csvtool/domain/row_session/row_session.rb
87
93
  - lib/csvtool/domain/row_session/row_source.rb
88
94
  - lib/csvtool/infrastructure/csv/header_reader.rb
95
+ - lib/csvtool/infrastructure/csv/row_randomizer.rb
89
96
  - lib/csvtool/infrastructure/csv/row_streamer.rb
90
97
  - lib/csvtool/infrastructure/csv/value_streamer.rb
91
98
  - lib/csvtool/infrastructure/output/console_writer.rb
@@ -97,13 +104,16 @@ files:
97
104
  - lib/csvtool/interface/cli/prompts/column_selector_prompt.rb
98
105
  - lib/csvtool/interface/cli/prompts/confirm_prompt.rb
99
106
  - lib/csvtool/interface/cli/prompts/file_path_prompt.rb
107
+ - lib/csvtool/interface/cli/prompts/headers_present_prompt.rb
100
108
  - lib/csvtool/interface/cli/prompts/output_destination_prompt.rb
109
+ - lib/csvtool/interface/cli/prompts/seed_prompt.rb
101
110
  - lib/csvtool/interface/cli/prompts/separator_prompt.rb
102
111
  - lib/csvtool/interface/cli/prompts/skip_blanks_prompt.rb
103
112
  - lib/csvtool/services/preview_builder.rb
104
113
  - lib/csvtool/version.rb
105
114
  - test/csvtool/application/use_cases/run_extraction_test.rb
106
115
  - test/csvtool/application/use_cases/run_row_extraction_test.rb
116
+ - test/csvtool/application/use_cases/run_row_randomization_test.rb
107
117
  - test/csvtool/cli_test.rb
108
118
  - test/csvtool/cli_unit_test.rb
109
119
  - test/csvtool/domain/column_session/column_selection_test.rb
@@ -114,11 +124,16 @@ files:
114
124
  - test/csvtool/domain/column_session/output_destination_test.rb
115
125
  - test/csvtool/domain/column_session/preview_test.rb
116
126
  - test/csvtool/domain/column_session/separator_test.rb
127
+ - test/csvtool/domain/row_randomization_session/randomization_options_test.rb
128
+ - test/csvtool/domain/row_randomization_session/randomization_output_destination_test.rb
129
+ - test/csvtool/domain/row_randomization_session/randomization_session_test.rb
130
+ - test/csvtool/domain/row_randomization_session/randomization_source_test.rb
117
131
  - test/csvtool/domain/row_session/row_output_destination_test.rb
118
132
  - test/csvtool/domain/row_session/row_range_test.rb
119
133
  - test/csvtool/domain/row_session/row_session_test.rb
120
134
  - test/csvtool/domain/row_session/row_source_test.rb
121
135
  - test/csvtool/infrastructure/csv/header_reader_test.rb
136
+ - test/csvtool/infrastructure/csv/row_randomizer_test.rb
122
137
  - test/csvtool/infrastructure/csv/row_streamer_test.rb
123
138
  - test/csvtool/infrastructure/csv/value_streamer_test.rb
124
139
  - test/csvtool/infrastructure/output/console_writer_test.rb
@@ -130,7 +145,9 @@ files:
130
145
  - test/csvtool/interface/cli/prompts/column_selector_prompt_test.rb
131
146
  - test/csvtool/interface/cli/prompts/confirm_prompt_test.rb
132
147
  - test/csvtool/interface/cli/prompts/file_path_prompt_test.rb
148
+ - test/csvtool/interface/cli/prompts/headers_present_prompt_test.rb
133
149
  - test/csvtool/interface/cli/prompts/output_destination_prompt_test.rb
150
+ - test/csvtool/interface/cli/prompts/seed_prompt_test.rb
134
151
  - test/csvtool/interface/cli/prompts/separator_prompt_test.rb
135
152
  - test/csvtool/interface/cli/prompts/skip_blanks_prompt_test.rb
136
153
  - test/csvtool/services/preview_builder_test.rb
@@ -141,6 +158,7 @@ files:
141
158
  - test/fixtures/sample_people_blanks.csv
142
159
  - test/fixtures/sample_people_colon.txt
143
160
  - test/fixtures/sample_people_many.csv
161
+ - test/fixtures/sample_people_no_headers.csv
144
162
  - test/test_helper.rb
145
163
  homepage: https://github.com/RobertAndrewHall/csvops
146
164
  licenses: