dsu 2.4.4 → 3.0.0.alpha.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|