dsu 2.4.4 → 3.0.0.alpha.0
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/.rubocop.yml +12 -0
- data/CHANGELOG.md +42 -0
- data/Gemfile.lock +1 -1
- data/README.md +2 -2
- data/Rakefile +6 -0
- data/current_project.bak +4 -0
- data/lib/dsu/cli.rb +24 -6
- data/lib/dsu/crud/json_file.rb +3 -0
- data/lib/dsu/migration/version.rb +1 -1
- data/lib/dsu/models/color_theme.rb +7 -58
- data/lib/dsu/models/configuration.rb +18 -3
- data/lib/dsu/models/entry_group.rb +0 -7
- data/lib/dsu/models/migration_version.rb +0 -1
- data/lib/dsu/models/project.rb +295 -0
- data/lib/dsu/presenters/base_presenter_ex.rb +1 -12
- data/lib/dsu/presenters/export/all_presenter.rb +14 -19
- data/lib/dsu/presenters/export/dates_presenter.rb +17 -20
- data/lib/dsu/presenters/import/all_presenter.rb +20 -25
- data/lib/dsu/presenters/import/dates_presenter.rb +25 -27
- data/lib/dsu/presenters/import/import_entry.rb +22 -0
- data/lib/dsu/presenters/import/import_file.rb +9 -1
- data/lib/dsu/presenters/project/create_presenter.rb +44 -0
- data/lib/dsu/presenters/project/delete_by_number_presenter.rb +54 -0
- data/lib/dsu/presenters/project/delete_presenter.rb +53 -0
- data/lib/dsu/presenters/project/list_presenter.rb +24 -0
- data/lib/dsu/presenters/project/rename_by_number_presenter.rb +63 -0
- data/lib/dsu/presenters/project/rename_presenter.rb +57 -0
- data/lib/dsu/presenters/project/use_by_number_presenter.rb +53 -0
- data/lib/dsu/presenters/project/use_presenter.rb +52 -0
- data/lib/dsu/services/entry_group/exporter_service.rb +22 -5
- data/lib/dsu/services/entry_group/importer_service.rb +41 -8
- data/lib/dsu/services/project/hydrator_service.rb +40 -0
- data/lib/dsu/services/project/rename_service.rb +70 -0
- data/lib/dsu/subcommands/export.rb +4 -2
- data/lib/dsu/subcommands/import.rb +7 -3
- data/lib/dsu/subcommands/project.rb +149 -0
- data/lib/dsu/support/ask.rb +10 -3
- data/lib/dsu/support/color_themable.rb +1 -1
- data/lib/dsu/support/command_hookable.rb +7 -2
- data/lib/dsu/support/descriptable.rb +5 -21
- data/lib/dsu/support/fileable.rb +39 -1
- data/lib/dsu/support/project_file_system.rb +121 -0
- data/lib/dsu/support/short_string.rb +24 -0
- data/lib/dsu/support/time_comparable.rb +2 -0
- data/lib/dsu/support/transform_project_name.rb +24 -0
- data/lib/dsu/validators/project_name_validator.rb +58 -0
- data/lib/dsu/version.rb +1 -1
- data/lib/dsu/views/base_list_view.rb +41 -0
- data/lib/dsu/views/export.rb +60 -6
- data/lib/dsu/views/import.rb +83 -7
- data/lib/dsu/views/import_dates.rb +17 -0
- data/lib/dsu/views/project/create.rb +87 -0
- data/lib/dsu/views/project/delete.rb +96 -0
- data/lib/dsu/views/project/delete_by_number.rb +19 -0
- data/lib/dsu/views/project/list.rb +115 -0
- data/lib/dsu/views/project/rename.rb +98 -0
- data/lib/dsu/views/project/rename_by_number.rb +21 -0
- data/lib/dsu/views/project/use.rb +97 -0
- data/lib/dsu/views/project/use_by_number.rb +19 -0
- data/lib/dsu.rb +2 -10
- data/lib/locales/en/active_record.yml +9 -0
- data/lib/locales/en/commands.yml +9 -3
- data/lib/locales/en/miscellaneous.yml +4 -0
- data/lib/locales/en/services.yml +4 -0
- data/lib/locales/en/subcommands.yml +247 -15
- data/project.bak +0 -0
- metadata +34 -9
- data/lib/dsu/presenters/export/messages.rb +0 -32
- data/lib/dsu/presenters/export/nothing_to_export.rb +0 -13
- data/lib/dsu/presenters/export/service_callable.rb +0 -20
- data/lib/dsu/presenters/import/messages.rb +0 -42
- data/lib/dsu/presenters/import/service_callable.rb +0 -21
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dsu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.alpha.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gene M. Angelo, Jr.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -159,6 +159,7 @@ files:
|
|
159
159
|
- bin/console
|
160
160
|
- bin/dsu
|
161
161
|
- bin/setup
|
162
|
+
- current_project.bak
|
162
163
|
- exe/dsu
|
163
164
|
- lib/core/ruby/color_theme_colors.rb
|
164
165
|
- lib/core/ruby/color_theme_mode.rb
|
@@ -176,6 +177,7 @@ files:
|
|
176
177
|
- lib/dsu/models/entry.rb
|
177
178
|
- lib/dsu/models/entry_group.rb
|
178
179
|
- lib/dsu/models/migration_version.rb
|
180
|
+
- lib/dsu/models/project.rb
|
179
181
|
- lib/dsu/presenters/base_presenter.rb
|
180
182
|
- lib/dsu/presenters/base_presenter_ex.rb
|
181
183
|
- lib/dsu/presenters/color_theme_presenter.rb
|
@@ -189,14 +191,18 @@ files:
|
|
189
191
|
- lib/dsu/presenters/entry_presenter.rb
|
190
192
|
- lib/dsu/presenters/export/all_presenter.rb
|
191
193
|
- lib/dsu/presenters/export/dates_presenter.rb
|
192
|
-
- lib/dsu/presenters/export/messages.rb
|
193
|
-
- lib/dsu/presenters/export/nothing_to_export.rb
|
194
|
-
- lib/dsu/presenters/export/service_callable.rb
|
195
194
|
- lib/dsu/presenters/import/all_presenter.rb
|
196
195
|
- lib/dsu/presenters/import/dates_presenter.rb
|
196
|
+
- lib/dsu/presenters/import/import_entry.rb
|
197
197
|
- lib/dsu/presenters/import/import_file.rb
|
198
|
-
- lib/dsu/presenters/
|
199
|
-
- lib/dsu/presenters/
|
198
|
+
- lib/dsu/presenters/project/create_presenter.rb
|
199
|
+
- lib/dsu/presenters/project/delete_by_number_presenter.rb
|
200
|
+
- lib/dsu/presenters/project/delete_presenter.rb
|
201
|
+
- lib/dsu/presenters/project/list_presenter.rb
|
202
|
+
- lib/dsu/presenters/project/rename_by_number_presenter.rb
|
203
|
+
- lib/dsu/presenters/project/rename_presenter.rb
|
204
|
+
- lib/dsu/presenters/project/use_by_number_presenter.rb
|
205
|
+
- lib/dsu/presenters/project/use_presenter.rb
|
200
206
|
- lib/dsu/services/color_theme/hydrator_service.rb
|
201
207
|
- lib/dsu/services/configuration/hydrator_service.rb
|
202
208
|
- lib/dsu/services/entry/hydrator_service.rb
|
@@ -208,6 +214,8 @@ files:
|
|
208
214
|
- lib/dsu/services/entry_group/hydrator_service.rb
|
209
215
|
- lib/dsu/services/entry_group/importer_service.rb
|
210
216
|
- lib/dsu/services/migration_version/hydrator_service.rb
|
217
|
+
- lib/dsu/services/project/hydrator_service.rb
|
218
|
+
- lib/dsu/services/project/rename_service.rb
|
211
219
|
- lib/dsu/services/stderr_redirector_service.rb
|
212
220
|
- lib/dsu/services/stdout_redirector_service.rb
|
213
221
|
- lib/dsu/services/temp_file/reader_service.rb
|
@@ -220,6 +228,7 @@ files:
|
|
220
228
|
- lib/dsu/subcommands/export.rb
|
221
229
|
- lib/dsu/subcommands/import.rb
|
222
230
|
- lib/dsu/subcommands/list.rb
|
231
|
+
- lib/dsu/subcommands/project.rb
|
223
232
|
- lib/dsu/subcommands/theme.rb
|
224
233
|
- lib/dsu/support/ask.rb
|
225
234
|
- lib/dsu/support/color_themable.rb
|
@@ -234,16 +243,21 @@ files:
|
|
234
243
|
- lib/dsu/support/field_errors.rb
|
235
244
|
- lib/dsu/support/fileable.rb
|
236
245
|
- lib/dsu/support/presentable.rb
|
246
|
+
- lib/dsu/support/project_file_system.rb
|
247
|
+
- lib/dsu/support/short_string.rb
|
237
248
|
- lib/dsu/support/time_comparable.rb
|
238
249
|
- lib/dsu/support/time_formatable.rb
|
239
250
|
- lib/dsu/support/times_sortable.rb
|
251
|
+
- lib/dsu/support/transform_project_name.rb
|
240
252
|
- lib/dsu/support/utils.rb
|
241
253
|
- lib/dsu/validators/color_theme_validator.rb
|
242
254
|
- lib/dsu/validators/description_validator.rb
|
243
255
|
- lib/dsu/validators/entries_validator.rb
|
256
|
+
- lib/dsu/validators/project_name_validator.rb
|
244
257
|
- lib/dsu/validators/time_validator.rb
|
245
258
|
- lib/dsu/validators/version_validator.rb
|
246
259
|
- lib/dsu/version.rb
|
260
|
+
- lib/dsu/views/base_list_view.rb
|
247
261
|
- lib/dsu/views/color_theme/index.rb
|
248
262
|
- lib/dsu/views/color_theme/show.rb
|
249
263
|
- lib/dsu/views/configuration/show.rb
|
@@ -256,6 +270,15 @@ files:
|
|
256
270
|
- lib/dsu/views/entry_group/show.rb
|
257
271
|
- lib/dsu/views/export.rb
|
258
272
|
- lib/dsu/views/import.rb
|
273
|
+
- lib/dsu/views/import_dates.rb
|
274
|
+
- lib/dsu/views/project/create.rb
|
275
|
+
- lib/dsu/views/project/delete.rb
|
276
|
+
- lib/dsu/views/project/delete_by_number.rb
|
277
|
+
- lib/dsu/views/project/list.rb
|
278
|
+
- lib/dsu/views/project/rename.rb
|
279
|
+
- lib/dsu/views/project/rename_by_number.rb
|
280
|
+
- lib/dsu/views/project/use.rb
|
281
|
+
- lib/dsu/views/project/use_by_number.rb
|
259
282
|
- lib/dsu/views/shared/error.rb
|
260
283
|
- lib/dsu/views/shared/info.rb
|
261
284
|
- lib/dsu/views/shared/message.rb
|
@@ -275,12 +298,14 @@ files:
|
|
275
298
|
- lib/seed_data/themes/light.json
|
276
299
|
- lib/seed_data/themes/matrix.json
|
277
300
|
- lib/seed_data/themes/whiteout.json
|
301
|
+
- project.bak
|
278
302
|
- sig/dsu.rbs
|
279
303
|
homepage: https://github.com/gangelo/dsu
|
280
304
|
licenses:
|
281
305
|
- MIT
|
282
306
|
metadata:
|
283
307
|
homepage_uri: https://github.com/gangelo/dsu
|
308
|
+
documentation_uri: https://github.com/gangelo/dsu/wiki
|
284
309
|
source_code_uri: https://github.com/gangelo/dsu
|
285
310
|
changelog_uri: https://github.com/gangelo/dsu/blob/main/CHANGELOG.md
|
286
311
|
rubygems_mfa_required: 'true'
|
@@ -327,9 +352,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
327
352
|
version: '4.0'
|
328
353
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
329
354
|
requirements:
|
330
|
-
- - "
|
355
|
+
- - ">"
|
331
356
|
- !ruby/object:Gem::Version
|
332
|
-
version:
|
357
|
+
version: 1.3.1
|
333
358
|
requirements: []
|
334
359
|
rubygems_version: 3.2.15
|
335
360
|
signing_key:
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Dsu
|
4
|
-
module Presenters
|
5
|
-
module Export
|
6
|
-
module Messages
|
7
|
-
def display_export_prompt
|
8
|
-
raise NotImplementedError
|
9
|
-
end
|
10
|
-
|
11
|
-
def display_nothing_to_export_message
|
12
|
-
puts apply_theme(I18n.t('subcommands.export.messages.nothing_to_export'), theme_color: color_theme.info)
|
13
|
-
end
|
14
|
-
|
15
|
-
private
|
16
|
-
|
17
|
-
def display_cancelled_message
|
18
|
-
puts apply_theme(I18n.t('subcommands.export.messages.cancelled'), theme_color: color_theme.info)
|
19
|
-
end
|
20
|
-
|
21
|
-
def display_exported_message
|
22
|
-
puts apply_theme(I18n.t('subcommands.export.messages.exported'), theme_color: color_theme.success)
|
23
|
-
end
|
24
|
-
|
25
|
-
def display_exported_to_message(file_path:)
|
26
|
-
puts apply_theme(I18n.t('subcommands.export.messages.exported_to', file_path: file_path),
|
27
|
-
theme_color: color_theme.success)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../../services/entry_group/exporter_service'
|
4
|
-
|
5
|
-
module Dsu
|
6
|
-
module Presenters
|
7
|
-
module Export
|
8
|
-
module ServiceCallable
|
9
|
-
private
|
10
|
-
|
11
|
-
def exporter_service_call
|
12
|
-
@exporter_service_call ||= begin
|
13
|
-
exporter_service = Services::EntryGroup::ExporterService.new(entry_groups: entry_groups, options: options)
|
14
|
-
exporter_service.call
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Dsu
|
4
|
-
module Presenters
|
5
|
-
module Import
|
6
|
-
module Messages
|
7
|
-
def display_import_prompt
|
8
|
-
raise NotImplementedError
|
9
|
-
end
|
10
|
-
|
11
|
-
def display_import_file_not_exist_message
|
12
|
-
puts apply_theme(I18n.t('subcommands.import.messages.file_not_exist',
|
13
|
-
file_path: import_file_path), theme_color: color_theme.info)
|
14
|
-
end
|
15
|
-
|
16
|
-
def display_nothing_to_import_message
|
17
|
-
puts apply_theme(I18n.t('subcommands.import.messages.nothing_to_import'), theme_color: color_theme.info)
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def display_cancelled_message
|
23
|
-
puts apply_theme(I18n.t('subcommands.import.messages.cancelled'), theme_color: color_theme.info)
|
24
|
-
end
|
25
|
-
|
26
|
-
def display_import_messages(import_results)
|
27
|
-
import_results.each_pair do |entry_group_date, errors|
|
28
|
-
if errors.empty?
|
29
|
-
puts apply_theme(I18n.t('subcommands.import.messages.import_success',
|
30
|
-
date: entry_group_date), theme_color: color_theme.success)
|
31
|
-
else
|
32
|
-
errors.each do |error|
|
33
|
-
puts apply_theme(I18n.t('subcommands.import.messages.import_error',
|
34
|
-
date: entry_group_date, error: error), theme_color: color_theme.error)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative '../../services/entry_group/importer_service'
|
4
|
-
|
5
|
-
module Dsu
|
6
|
-
module Presenters
|
7
|
-
module Import
|
8
|
-
module ServiceCallable
|
9
|
-
private
|
10
|
-
|
11
|
-
def importer_service_call
|
12
|
-
@importer_service_call ||= begin
|
13
|
-
importer_service = Services::EntryGroup::ImporterService.new(import_entry_groups: import_entry_groups,
|
14
|
-
options: options)
|
15
|
-
importer_service.call
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|