dsu 2.4.1 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a3ef89000fde93f0c137804519e017a526207311eff3ae04d2bb2e2d3fe8ec4
4
- data.tar.gz: '0997fc41677d33f324d43238b8a74ac7d5756c37134247156a7a155be924d756'
3
+ metadata.gz: daab696fe0b9d10062e74dedfba4605ac8d8917d9213188011250def3925a7d7
4
+ data.tar.gz: 50b7e48562ef821a547d3ff7468cd92fe2cc6a6af2090fa27b4d3c3f9a853b47
5
5
  SHA512:
6
- metadata.gz: 69035c63db6897ed6601d0b65cc834fa960d1274892fec6e039ec140c36818ba146803f43ff35b2067f9ec3ad7cd92fdd16fd88b8e6abf389f986d3ff8999d44
7
- data.tar.gz: c513ffdfca121c7733b5e582b25dcff1ece6e413431c5317f0fc7db6c6be42ca0b2a7ceb6964eb6e89899dc991933423e2f2cd63663ad180c06cd4f94e52b72d
6
+ metadata.gz: cd0028f5f8004b5078961725ca5297d0a962fb9d1d40f45bf452e5af0c3feb76992bad84a54c47bf22b0b3b3662946df5354e5c7fe781ad097c38b95bdf82887
7
+ data.tar.gz: 97f7f616664a2b406f196c08bfdd283ad5f184d6d9b357e12a59cdb1b4138ca2562859166618b443a73da5e276ae6229a70c6a4114fa8e023cadde8161fb8d25
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [2.4.2] 2024-01-06
2
+
3
+ Changes
4
+
5
+ - Correct gemspec to allow ruby ['>= 3.0.1', '< 4.0'].
6
+
1
7
  ## [2.4.1] 2024-01-05
2
8
 
3
9
  Changes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dsu (2.4.1)
4
+ dsu (2.4.2)
5
5
  activemodel (>= 7.0.8, < 8.0)
6
6
  activesupport (>= 7.0.8, < 8.0)
7
7
  colorize (>= 0.8.1, < 1.0)
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # `dsu`- Streamline Your Daily Stand-Up Meeting Participation!
1
+ # `dsu`
2
2
 
3
3
  [![Ruby](https://github.com/gangelo/dsu/actions/workflows/ruby.yml/badge.svg)](https://github.com/gangelo/dsu/actions/workflows/ruby.yml)
4
4
  [![GitHub version](http://badge.fury.io/gh/gangelo%2Fdsu.svg?refresh=6)](https://badge.fury.io/gh/gangelo%2Fdsu)
@@ -7,540 +7,24 @@
7
7
  [![Report Issues](https://img.shields.io/badge/report-issues-red.svg)](https://github.com/gangelo/dsu/issues)
8
8
  [![License](http://img.shields.io/badge/license-MIT-yellowgreen.svg)](#license)
9
9
 
10
- <img align="center" src="https://i.imgur.com/ff79twF.gif" alt="dsu" />
10
+ `dsu` is a [ruby gem](https://rubygems.org/gems/dsu) that enables anyone practicing [Agile methodology](https://www.agilealliance.org/agile101/) to record, keep track of and manage their [daily standup (DSU)](https://www.agilealliance.org/glossary/daily-meeting/) activities.
11
11
 
12
- ## Simplify Your Agile Routine
13
- `dsu` is a sleek and powerful gem that transforms the way you participate in Agile Daily Stand-Ups (DSU). It's designed for developers who love simplicity and efficiency. With `dsu`, you get a user-friendly command-line interface to quickly manage your daily stand-up activities.
12
+ - `dsu` uses _no_ network connections whatsoever.
13
+ - `dsu` stores all of its data _locally_, in .json files.
14
+ - `dsu` is a simple (but powerful) command-line tool for users who _love_ to work within the terminal.
14
15
 
15
- ## Why dsu?
16
- - **Organize Your Tasks:** Easily add, view, update, or delete your DSU entries.
17
- - **Be Prepared:** Instantly list out your activities for "Yesterday" and plans for "Today" during stand-ups.
18
- - **Smart Handling of Dates:** `dsu` intelligently includes your weekend and previous Friday activities when necessesary, so you're always ready to share comprehensive updates.
19
- - **CLI Lovers Rejoice:** If you're a fan of simple command-line tools, `dsu` is a perfect fit.
20
-
21
- ### Getting Started Is Easy
22
- Just run `gem install dsu` from your terminal, and you're on your way to more organized and efficient stand-ups. Check out the help section with `$ dsu help` for quick guidance.
23
-
24
- ## Engage with `dsu`
25
- Found `dsu` helpful? Star it on GitHub and spread the word! Your feedback and contributions are welcome to make `dsu` even better.
26
-
27
- ## Quick Install
16
+ # Installation
28
17
  ```shell
29
18
  gem install dsu
30
19
  ```
31
20
 
32
- ## Help
33
-
34
- After installation (`gem install dsu`), the first thing you may want to do is run the `dsu` help:
35
- ### Displaying Help
36
- `$ dsu` or `$ dsu help`
37
- ```shell
38
- #=>
39
- Commands:
40
- dsu add|a [OPTIONS] DESCRIPTION # Adds a DSU entry...
41
- dsu browse|b SUBCOMMAND # Browse DSU entries...
42
- dsu config|c SUBCOMMAND # Manage configuration...
43
- dsu delete|d SUBCOMMAND # Delete DSU entries...
44
- dsu edit|e SUBCOMMAND # Edit DSU entries...
45
- dsu export|x SUBCOMMAND # Export DSU entries...
46
- dsu help [COMMAND] # Describe available...
47
- dsu import|m SUBCOMMAND # Imports DSU entries...
48
- dsu info|i # Displays information...
49
- dsu list|l SUBCOMMAND # Displays DSU entries...
50
- dsu theme|t SUBCOMMAND # Manage DSU themes...
51
- dsu version|-v|v # Displays this gem version
52
-
53
- Options:
54
- [--debug], [--no-debug]
55
- ```
56
-
57
- # Using `dsu`
58
- The folowing section outlines how to use the `dsu` gem.
59
-
60
- ## Adding DSU Entries
61
- The next thing you may want to do is `add` some DSU activities (entries) for a particular day:
62
-
63
- `$ dsu add [OPTIONS] DESCRIPTION`
64
-
65
- `$ dsu a [OPTIONS] DESCRIPTION`
66
-
67
- Adding DSU entry using this command will _add_ the DSU entry for the given day or date, and then _display_ the DSU entries for that day or date.
68
-
69
- **NOTE:** You cannot add duplicate entries for the same day; that is, entry DESCRIPTIONS need to be unique within an entry group for the given day.
70
-
71
- ### Today
72
- If you need to add a DSU entry for the current day (today), you can use the `-n`|`--today` option. Today (`-n`) is the default; therefore, the `-n` flag is optional if you want to add a DSU entry for the _current day_ (today). For example, the below commands will both accomplish the same thing:
73
-
74
- `$ dsu add [-n|--today] "Pair with John on ticket IN-12345"`
75
-
76
- `$ dsu a "Pair with John on ticket IN-12345"`
77
-
78
- ### Yesterday
79
- If for some reason you need to add a DSU entry for yesterday, you can use the `-y`| `--yesterday` option. Both of the below commands accomplish the same thing:
80
-
81
- `$ dsu add --yesterday "Pick up ticket IN-12345"`
82
-
83
- `$ dsu a -y "Pick up ticket IN-12345"`
84
-
85
- ### Tomorrow
86
- If you need to add a DSU entry for tomorrow, you can use the `-t`|`--tomorrow` option:
87
-
88
- `$ dsu add --tomorrow "Pick up ticket IN-12345"`
89
-
90
- `$ dsu a -t "Pick up ticket IN-12345"`
91
-
92
- ### Miscellaneous Date
93
-
94
- Both of the below examples will accomplish the same thing, assuming the current year is 2023; the current year is assumed when omitted:
95
-
96
- **NOTE:** When **omitting year**, dates must be entered in `MM/DD` format.
97
- **NOTE:** When **including year**, dates must be entered in `YYYY/MM/DD` format.
98
-
99
- `$ dsu add --date 2023/12/31 "Attend New Years Coffee Meet & Greet"`
100
-
101
- `$ dsu a -d 12/31 "Attend New Years Coffee Meet & Greet"`
102
-
103
- See the [Dates](#dates) section for more information on acceptable DATE formats used by `dsu`.
104
-
105
- ## Displaying DSU Entries
106
- You can display DSU entries for a particular day or date using any of the following commands. When displaying DSU entries for a particular day or date, `dsu` will display the DSU entries for the given day or date, as well as the DSU entries for the _previous_ day, relative to the given day or date. If the given day or date falls on a weekend or Monday, `dsu` will display any entries for the preceeding weekend _and_ Friday; this is so that you can share any activities that occurred over the weekend (if anything) as well as any activities for the previous Friday:
107
-
108
- - `$ dsu list today`
109
- - `$ dsu l n` # Equivalent to the above, only using shortcuts
110
- - `$ dsu list tomorrow`
111
- - `$ dsu l t` # Equivalent to the above, only using shortcuts
112
- - `$ dsu list yesterday`
113
- - `$ dsu l y` # Equivalent to the above, only using shortcuts
114
- - `$ dsu list date DATE|MNEMONIC`
115
- - `$ dsu l d DATE|MNEMONIC` # Equivalent to the above, only using shortcuts
116
- - `$ dsu list dates OPTIONS`
117
- - `$ dsu l dd OPTIONS` # Equivalent to the above, only using shortcuts
118
-
119
- See the [Dates](#dates) section for more information on acceptable DATE formats used by `dsu`.
120
- See the [Mnemonics](#mnemonics) section for more information on acceptable MNEMONIC rules and formats used by `dsu`.
121
-
122
- **IMPORTANT:** In some cases the behavior _relative date mnemonics_ (RDMs, see the [Mnemonics](#mnemonics) section for more information about RDMs) have on some commands are context dependent; in such cases the behavior will be noted in the help appropriate to the command, for example see the following `dsu` command help: `dsu list help date` and `dsu list help dates`.
123
-
124
- ### Examples
125
- The following displays the entries for "Today", where `Time.now == '2023-05-06 08:54:57.6861 -0400'`
126
-
127
- `$ dsu list today`
128
-
129
- `$ dsu l t`
130
- ```shell
131
- #=>
132
- Saturday, (Today) 2023-05-06
133
- 1. Blocked for locally failing test IN-12345
134
-
135
- Friday, (Yesterday) 2023-05-05
136
- 1. Pick up ticket IN-12345
137
- 2. Attend new hire meet & greet
138
- ```
139
-
140
- `$ dsu list date 5/7/2023`
141
-
142
- `$ dsu list d 2023/7/5`
143
-
144
- `$ dsu l d 7/5` # When omitting YYYY, MM/DD is assumed
145
-
146
- ```shell
147
- #=>
148
- Wednesday, (Today) 2023-07-05
149
- 1. Blocked for locally failing test IN-12345
150
-
151
- Tuesday, (Yesterday) 2023-07-04
152
- 1. Pick up ticket IN-12345
153
- 2. Attend new hire meet & greet
154
- ```
155
- **NOTE:** If `DATE` (`date`|`d`) falls on a weekend or Monday, `dsu` will display any entries for the preceeding weekend _and_ Friday.
156
-
157
- #### Listing Date Ranges
158
- For more information, see the [Mnemonics](#mnemonics) section for more information on acceptable MNEMONIC rules and formats used by `dsu`.
159
-
160
- **NOTE:** Output omitted for brevity...
161
-
162
- ##### Display the DSU entries for the last 3 days
163
- `$ dsu list dates --from yesterday --to -2`
164
-
165
- `$ dsu l dd -f y -t -2`
166
-
167
- ##### Display the DSU entries for 1/1 to 1/4 for the current year
168
- `$ dsu list dates --from 1/1 --to +3`
169
-
170
- `$ dsu l dd -f 1/1 -t +3`
171
-
172
- ##### Display the DSU entries for 1/2 to 1/5
173
- `$ dsu list dates --from 1/5 --to -3`
174
-
175
- `$ dsu l dd -f 1/5 -t -3`
176
-
177
- ##### Display the DSU entries for the last week
178
- `$ dsu list dates --from today --to -6`
179
-
180
- `$ dsu l dd -f n -t -6`
181
-
182
- ##### Display the DSU entries back 1 week from yesterday's date
183
- `$ dsu list dates --from -7 --to +6`
184
-
185
- `$ dsu l dd -f -7 -t +6`
186
-
187
- **NOTE:** **The above example is silly,** but it illustrates the fact that you can use relative mnemonics for both `--from` and `--to` options. While you *can* use relative mnemonics for both the `--from` and `--to` options, there is usually a more intuitive way.
188
-
189
- For example:
190
-
191
- This can be accomplished MUCH easier by using the `yesterday` mnemonic. This will display the DSU entries back 1 week from yesterday's date.
192
-
193
- `$ dsu list dates --from yesterday --to -6`
194
-
195
- `$ dsu l dd -f y -t -6`
196
-
197
- ## Browsing DSU Entries
198
- You can browse DSU entries for the current week, month and year using any of the following commands. `dsu browse` somewhat similar to `dsu list` with added `week`, `month` and `year` convenience SUBCOMMANDs. `dsu browse` also pipes the output to the terminal, so you can conveniently scroll through the listed entries using your keyboard or mouse:
199
-
200
- **NOTE:** Keyboard and/or mouse behavior while browsing (scrolling), is operating system dependent; `dsu browse` pipes its output to the terminal using `less` on nix systems, and `more` on Windows systems.
201
-
202
- - `$ dsu browse week`
203
- - `$ dsu b w` # Equivalent to the above, only using shortcuts
204
- - `$ dsu browse month`
205
- - `$ dsu b m` # Equivalent to the above, only using shortcuts
206
- - `$ dsu browse year`
207
- - `$ dsu b y` # Equivalent to the above, only using shortcuts
208
-
209
- ## Editing DSU Entries
210
-
211
- You can edit DSU entry groups by date. `dsu` will allow you to edit a DSU entry group using the `dsu edit SUBCOMMAND` date (`n|today|t|tomorrow|y|yesterday|date DATE`) you specify. `dsu edit` will open your DSU entry group entries in your editor, where you'll be able to perform editing functions against one or all of the entries.
212
-
213
- If no entries exist for the DSU date, the editor will open and allow you to add entries for that date. If you have the `:carry_over_entries_to_today` configuration option setting set to `true`, entries from the last DSU date will be copied into the editor for your convenience.
214
-
215
- **NOTE:** duplicate entries are not allowed; that is, the entry DESCRIPTION must be unique within an entry group. Non-unique entries will not be added to the entry group. The same holds true for entries whose DESCRIPTION that do not pass validation (between 2 and 256 characters (inclusive) in length).
216
-
217
- **NOTE:** See the "[Customizing the `dsu` Configuration File](#customizing-the-dsu-configuration-file)" section to configure `dsu` to use the editor of your choice and other configuration options to make editing more convenient.
218
-
219
- - `$ dsu edit today`
220
- - `$ dsu e n` # Equivalent to the above, only using shortcuts
221
- - `$ dsu edit tomorrow`
222
- - `$ dsu e t` # Equivalent to the above, only using shortcuts
223
- - `$ dsu edit yesterday`
224
- - `$ dsu e y` # Equivalent to the above, only using shortcuts
225
- - `$ dsu edit date DATE`
226
- - `$ dsu e d DATE` # Equivalent to the above, only using shortcuts
227
-
228
- ### Examples
229
-
230
- The following will edit your DSU entry group entries for "Today", where `Time.now == '2023-05-09 12:13:45.8273 -0400'`. Simply follow the directions in the editor file, then save and close your editor to apply the changes:
231
-
232
- `$ dsu edit today`
233
-
234
- `$ dsu e n`
235
-
236
- ```shell
237
- #=> In your editor, you will see...
238
- ################################################################################
239
- # Editing DSU Entries for Tuesday, (Today) 2023-05-23 EDT
240
- ################################################################################
241
-
242
- ################################################################################
243
- # DSU ENTRIES
244
- ################################################################################
245
-
246
- Interative planning meeting 11:00AM.
247
- Pair with Chad on ticket 31211.
248
- Investigate spike ticket 31255.
249
- Review Kelsey's PR ticket 30721.
250
-
251
- ################################################################################
252
- # INSTRUCTIONS
253
- ################################################################################
254
- # ADD a DSU entry: type an ENTRY DESCRIPTION on a new line.
255
- # EDIT a DSU entry: change the existing ENTRY DESCRIPTION.
256
- # DELETE a DSU entry: delete the ENTRY DESCRIPTION.
257
- # NOTE: deleting all of the ENTRY DESCRIPTIONs will delete the entry group file;
258
- # this is preferable if this is what you want to do :)
259
- # REORDER a DSU entry: reorder the ENTRY DESCRIPTIONs in order preference.
260
- #
261
- # *** When you are done, save and close your editor ***
262
- ################################################################################
263
- ```
264
-
265
- #### Edit an Entry
266
-
267
- Simply change the entry descripton text.
268
-
269
- For example...
270
- ```
271
- from: Interative planning meeting 11:00AM.
272
- to: Interative planning meeting 12:00AM.
273
- ```
274
-
275
- #### Add an Entry
276
-
277
- Simply type a new entry on a separate line.
278
-
279
- For example...
280
- ```
281
- Add me to this entry group.
282
- ```
283
-
284
- **NOTE:** Any entry that starts with a `#` in the first character position will be ignored.*
285
-
286
- #### Delete an Entry
287
-
288
- Simply delete the entry.
289
-
290
- For example...
291
- ```
292
- # Delete this entry from the editor file
293
- from: Interative planning meeting 11:00AM.
294
- to: <deleted>
295
- ```
296
-
297
- #### Reorder Entries
298
-
299
- Simply reorder the entries in the editor.
300
-
301
- For example...
302
- ```
303
- from: Interative planning meeting 11:00AM.
304
- Pair with Chad on ticket 31211.
305
- Investigate spike ticket 31255.
306
- Review Kelsey's PR ticket 30721.
307
- to: Review Kelsey's PR ticket 30721.
308
- Investigate spike ticket 31255.
309
- Pair with Chad on ticket 31211.
310
- Interative planning meeting 11:00AM.
311
- ```
312
- ## Deleting DSU Entry Groups
313
- You can delete DSU entry groups; this will delete *all* the entries for the particular day or date range. When deleting DSU entries for a particular day (`date`, `today`, `tomorrow`, `yesterday`), or date range (`dates`), `dsu` will delete the entry group(s) and *all* the associated entries for that day or date range:
314
-
315
- - `$ dsu delete today`
316
- - `$ dsu d n` # Equivalent to the above, only using shortcuts
317
- - `$ dsu delete tomorrow`
318
- - `$ dsu d t` # Equivalent to the above, only using shortcuts
319
- - `$ dsu delete yesterday`
320
- - `$ dsu d y` # Equivalent to the above, only using shortcuts
321
- - `$ dsu delete date DATE|MNEMONIC`
322
- - `$ dsu d d DATE|MNEMONIC` # Equivalent to the above, only using shortcuts
323
- - `$ dsu delete dates OPTIONS`
324
- - `$ dsu d dd OPTIONS` # Equivalent to the above, only using shortcuts
325
-
326
- **NOTE:** Before any of the above `dsu` commands are executed, `dsu` will prompt you to confirm the delete; you can continue ('y') or cancel ('N').
327
-
328
- See the [Dates](#dates) section for more information on acceptable DATE formats used by `dsu`.
329
- See the [Mnemonics](#mnemonics) section for more information on acceptable MNEMONIC rules and formats used by `dsu`.
330
-
331
- **IMPORTANT:** In some cases the behavior that _relative date mnemonics_ (RDMs, see the [Mnemonics](#mnemonics) section for more information about RDMs) have on some commands are context dependent; in such cases the behavior will be noted in the help appropriate to the command, for example see the following `dsu` command help: `dsu delete help date` and `dsu delete help dates`.
332
-
333
- ### Examples
334
- The following example deletes the entry group and *all* entries for today's date.
335
-
336
- `$ dsu delete today`
337
-
338
- `$ dsu d n`
339
- ```shell
340
- #=>
341
- Are you sure you want to delete all the entries for 2023-12-17 (1 entry groups)? [y/N]> y
342
- Deleted 1 entry group(s).
343
- ```
344
- The following example deletes the entry group and *all* entries for yesterday's date.
345
-
346
- `$ dsu delete yesterday`
347
-
348
- `$ dsu d y`
349
- ```shell
350
- #=>
351
- Are you sure you want to delete all the entries for 2023-12-16 (1 entry groups)? [y/N]> y
352
- Deleted 1 entry group(s).
353
- ```
354
- The following example deletes the entry group and *all* entries for tomorrow's date.
355
-
356
- `$ dsu delete tomorrow`
357
-
358
- `$ dsu d t`
359
- ```shell
360
- #=>
361
- Are you sure you want to delete all the entries for 2023-12-18 (1 entry groups)? [y/N]> y
362
- Deleted 1 entry group(s).
363
- ```
364
-
365
- The following deletes the entry group and all entries for 12/17 of the current year.
366
-
367
- `$ dsu delete date 12/17`
368
-
369
- `$ dsu d d 12/17`
370
- ```shell
371
- #=>
372
- Are you sure you want to delete all the entries for 2023-12-17 (0 entry groups)? [y/N]> y
373
- Deleted 1 entry group(s)
374
- ```
375
-
376
- The following deletes the entry group and all entries for the past week, starting from today (12/17/2023).
377
-
378
- `$ dsu delete dates --from today --to -6`
379
-
380
- `$ dsu d dd -f n -t -6`
381
- ```shell
382
- #=>
383
- Are you sure you want to delete all the entries for 2023-12-11 thru 2023-12-17 (7 entry groups)? [y/N]> y
384
- Deleted 7 entry group(s).
385
- ```
386
-
387
- ## Exporting DSU Entries
388
-
389
- Some ingenious soul may want to write a utility at some point, so `dsu` provides the means to export its data into a `csv` file for convenience. Of course, if you feel so inclined, you may also use the `dsu` entry group `json` files directly. The `dsu` entry group `json` files can be located by running the `dsu info` command, and locating the "Entries folder" value.
390
-
391
- If you want to use a `csv` file, you can export `dsu` entries to a `csv` file by using any of the following commands:
392
-
393
- - `$ dsu export all`
394
- - `$ dsu x a` # Equivalent to the above, only using shortcuts
395
- - `$ dsu export dates OPTIONS`
396
- - `$ dsu x dd OPTIONS` # Equivalent to the above, only using shortcuts
397
-
398
- **NOTE:** Each `export` command will prompt you to confirm the export. If confirmed, `dsu` will write a `csv` file to your operating systems temp folder, in the following format: `"dsu-<timestamp>-<from date>-thru-<to date>.csv"`:
399
-
400
- Where:
401
- - <timestamp> = '%Y%m%d%H%M%S'
402
- - <from date> = the date of the earliest entry group exported (if `export all`) or the earliest date of the entry group dates to be exported (if `export dates`).
403
- - <to date> = the date of the most resent entry group exported (if `export all`) or the most recent date of the entry group dates to be exported (if `export dates`).
404
- -
405
- ### For example
406
-
407
- The following command, when run on December 25, 2023, at 20:15:46...
408
-
409
- `$ dsu export dates -f 1/1/1999 -t 12/23/2023`
410
-
411
- ...will export `dsu` entries for all Entry Groups that fall between the dates of January 1st, 1999 through December 23rd 2023 in the time zone it was executed, and write them to the following file:
412
-
413
- `/var/folders/yv/5n77gtzn7z33ytwgr9mlbbrhf5rws6/T/dsu-20231225201546-1999-01-01-thru-2023-12-23.csv`
414
-
415
- For more information, see `dsu` help (`$ dsu export` or `dsu help export`) for more information.
416
-
417
- ## Importing DSU Entries
418
-
419
- `dsu` provides a means to import entry group entry data from a previously exported `csv` file (see [Exporting DSU Entries](#exporting-dsu-entries)).
420
-
421
- If you want to import a previously expoeted `csv` file, you can import `dsu` entries from a `csv` file by using any of the following commands:
422
-
423
- - `$ dsu import all`
424
- - `$ dsu m a` # Equivalent to the above, only using shortcuts
425
- - `$ dsu import dates OPTIONS`
426
- - `$ dsu m dd OPTIONS` # Equivalent to the above, only using shortcuts
427
-
428
- **NOTE:** Each `import` command will prompt you to confirm the import. If confirmed, `dsu` will import the entry group entry data from the `csv` file into `dsu`.
429
-
430
- ### For example
431
-
432
- ### Importing all entries from a `csv` file
433
- You can import _all_ entry group entries from a `csv` file.
434
-
435
- The following command will import all the `dsu` entries from the given `csv` file, and merge the imported entries with any existing entry group entries you may have:
436
-
437
- `$ dsu import all -i ~/Downloads/dsu-20231225201546-2023-01-01-thru-2024-01-01.csv`
438
-
439
- The following command will import all the `dsu` entries from the given `csv` file, and **_overwrite_** all entry groups entries with the same entry group date using the `dsu export all` shortcut command:
440
-
441
- `$ dsu m a -m false -i ~/Downloads/dsu-20231225201546-2023-01-01-thru-2024-01-01.csv`
442
-
443
- ### Importing specific entries from a `csv` file
444
- You can import _specific_ entry group entries from a `csv` file for a date range.
445
-
446
- The following command will import the `dsu` entries from the given `csv` file for the given date range, and merge the imported entries with any existing entry group entries you may have:
447
-
448
- `$ dsu import dates --from 1/1/2023 --to 12/31/2023 -i ~/Downloads/dsu-20231225201546-2023-01-01-thru-2024-01-01.csv`
449
-
450
- The following command will import the `dsu` entries from the given `csv` file for the given date range, and **_overwrite_** all entry groups entries with the same entry group date using the `dsu import dates` shortcut command:
451
-
452
- `$ dsu m dd -m false -f 1/1/2023 -t 12/31/2023 -i ~/Downloads/dsu-20231225201546-2023-01-01-thru-2024-01-01.csv`
453
-
454
- ## Customizing the `dsu` Configuration File
455
- To customize the `dsu` configuration file, you may follow the instructions outlined here. It is only recommended that you customize the `dsu` configuration file *only* if you are working with an official release (`n.n.n.n`).
456
-
457
- **NOTE:** It is **not** recommended that you get too attached to the `dsu` configuration options when this gem is in **pre-release** (e.g. `n.n.n.alpha.n`, `n.n.n.beta.n`, etc.). This is because changes to the configuration file options, of course, could change. With an official release (`n.n.n.n`), edit all you want!
458
-
459
- ### Customizing the `dsu` Configuration File
460
-
461
- ```shell
462
- # Locate the dsu configuration file in your home folder.
463
- $ dsu config info
464
- #=>
465
- Dsu v2.0.0
466
-
467
- Configuration file contents (/Users/<whoami>/dsu/.dsu)
468
- 1. version: '20230613121411'
469
- 2. editor: 'nano'
470
- 3. entries_display_order: 'desc'
471
- 4. carry_over_entries_to_today: 'false'
472
- 5. include_all: 'false'
473
- 6. theme_name: 'default'
474
- ___________________________________
475
- Theme: default
476
- ```
477
-
478
- Where `<whoami>` would be your username (`$ whoami` on nix systems)
479
-
480
- Taking note of the confiruration file path above, you may then edit this file using your favorite editor.
481
-
482
- #### Configuration File Options
483
-
484
- ##### version
485
- _DO NOT_ edit this value. This value coincides with the `dsu` migration version and should not be edited.
486
-
487
- ##### editor
488
- This is the default editor to use when editing entry groups if the EDITOR environment variable on your system is not set.
489
-
490
- Default: `nano` (you'll need to change the default editor on Windows systems)
491
-
492
- NOTE: [Visual Studio Code](https://code.visualstudio.com/docs/editor/command-line), users, use `"code --wait"` (or `"code -w"`, short form) to make sure the vscode editor waits for the edited file to be saved and closed before returning control to the dsu process.
493
-
494
- ##### entries_display_order
495
- Valid values are 'asc' and 'desc', and will sort listed DSU entries in ascending or descending order respectfully, by day.
496
-
497
- Default: `'desc'`
498
-
499
- ##### carry_over_entries_to_today
500
- Applicable to the `dsu edit` command. Valid values are `true|false`. If `true`, when editing DSU entries *for the first time* on any given day (e.g. `dsu edit today`), DSU entries from the previous day will be copied into the current editing session. If there are no DSU entries from the previous day, `dsu` will search backwards up to 7 days to find a DSU date that has entries to copy. If after searching back 7 days, no DSU entries are found, the editor session will simply provide no previous DSU entries.
501
-
502
- Default: `false`
503
-
504
- ##### include_all
505
- Applicable to `dsu` commands that display DSU date lists (e.g. `dsu list` commands). Valid values are `true|false`. If `true`, all DSU dates within the specified range will be displayed, regardless of whether or not a particular date has entries. If `false`, only DSU dates between the first and last DSU dates that have entries *will be displayed*.
506
-
507
- Default: `false`
508
-
509
- ##### theme_name
510
- Valid values are any theme names available as a result of running `dsu theme list`. For example: "cherry", default", "lemon", "matrix" and "whiteout".
511
-
512
- ## Dates
513
-
514
- These notes apply to anywhere DATE is used...
515
-
516
- DATE may be any date string that can be parsed using `Time.parse`. Consequently, you may omit the year if the date you want to display is the current year (e.g. <month>/<day>, or 1/31). For example: `require 'time'; Time.parse('2023/01/02'); Time.parse('1/2/2023'); Time.parse('1/2') # etc.`
517
-
518
- ## Mnemonics
519
-
520
- These notes apply to anywhere MNEMONIC is used...
521
-
522
- A *mnemonic* may be any of the following: `n|today|t|tomorrow|y|yesterday|+n|-n`.
523
-
524
- Where `n`, `t`, `y` are aliases for `today`, `tomorrow`, and `yesterday`, respectively.
525
-
526
- Where `+n`, `-n` are relative date mnemonics (RDMs). Generally speaking, RDMs are relative to the current date. For example, a RDM of `+1` would be equal to `Time.now + 1.day` (or tomorrow), and a RDM of `-1` would be equal to `Time.now - 1.day` (or yesterday).
527
-
528
- NOTE: In some cases the behavior RDMs have on some commands are context dependent; in such cases the behavior will be noted in the help appropriate to the command, for example see the following `dsu` command help: `dsu list help date` and `dsu list help dates`.
529
-
530
- ## Development
531
-
532
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
533
-
534
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
535
-
536
- ## Contributing
537
-
538
- Bug reports and pull requests are welcome on GitHub at https://github.com/gangelo/dsu. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/dsu/blob/main/CODE_OF_CONDUCT.md).
539
-
540
- ## License
21
+ # Documentation
22
+ [https://github.com/gangelo/dsu/wiki](https://github.com/gangelo/dsu/wiki)
541
23
 
542
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
24
+ # Examples
25
+ TODO
543
26
 
544
- ## Code of Conduct
27
+ # Supported ruby versions
28
+ TODO
545
29
 
546
- Everyone interacting in the Dsu project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/dsu/blob/main/CODE_OF_CONDUCT.md).
30
+ Copyright (c) 2023-2024 Erik Gene Angelo. See [LICENSE](https://github.com/gangelo/dsu/LICENSE.txt) for details.
data/lib/dsu/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Dsu
4
4
  VERSION_REGEX = /\A\d+\.\d+\.\d+(\.(alpha|rc)\.\d+)?\z/
5
- VERSION = '2.4.1'
5
+ VERSION = '2.4.2'
6
6
  end
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: 2.4.1
4
+ version: 2.4.2
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-01-05 00:00:00.000000000 Z
11
+ date: 2024-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -317,6 +317,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
317
317
  - - ">="
318
318
  - !ruby/object:Gem::Version
319
319
  version: 3.0.1
320
+ - - "<"
321
+ - !ruby/object:Gem::Version
322
+ version: '4.0'
320
323
  required_rubygems_version: !ruby/object:Gem::Requirement
321
324
  requirements:
322
325
  - - ">="