dsu 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +119 -85
  3. data/Gemfile +2 -2
  4. data/Gemfile.lock +6 -6
  5. data/lib/dsu/version.rb +1 -1
  6. metadata +10 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 444e3b904a6a72bbbe7374431eb0a9f64c693c56c3529efaad573fa1193a3bc8
4
- data.tar.gz: 50210fd8372ab8997224c2a0794c47d7ac6db35f980c46ce25f24fdd7bf6eac6
3
+ metadata.gz: eadfbc4ed5994760a0f9d06701005e170949a7d262e1ad54779e12b40d643820
4
+ data.tar.gz: c12cb505a26e891706ad46da65d06763f56b2ffab6ac334d3677e790be8ef780
5
5
  SHA512:
6
- metadata.gz: c9712bbe019f6583edc6e250fa3a5b87366f938818fa8023549c2e035f87f5f73d45c349ec2a828cc42e8686b06726b0fdd03ee91a776355fe927ad5a874fa66
7
- data.tar.gz: 84e442a7f631f55f4ce64b96f6b3d5896bb31f3e7c280f0d5107e573f52e9e9027539234c4edf0ff9c56211391e5f1fabdaba45b42200f219af3a93098c44db8
6
+ metadata.gz: 1b05213705dea1155a60d89cd3af4934070ebf3ff66b7be867a4ae2f51ab0b7c2a9b3fedbc2e6fb8a46729d962394c8a7711a65038c6d13457bbd96a406338a8
7
+ data.tar.gz: 838e2d6ea91ab71a93b6891866e61314fa79a1b19e1eb484565cdf2c9a029172e8f00ba64995f08db3eddd87d8906ad95723d497d73c8158d59d19608fff860a
data/CHANGELOG.md CHANGED
@@ -1,109 +1,143 @@
1
- ## 2.0.1 - 2023-08-16
1
+ ## [2.0.2] 2023-08-17
2
2
 
3
- - Changes
4
- - Bump to official release.
5
- - None (see below).
3
+ Bumps activemodel from 7.0.5 to 7.0.7.
4
+ Update colorize requirement from ~> 0.8.1 to >= 0.8.1, < 1.2.0
5
+ Bump rubocop-rspec from 2.22.0 to 2.23.2
6
+ Bump rubocop-performance from 1.18.0 to 1.19.0
7
+ Bump rubocop from 1.52.0 to 1.56.0
6
8
 
7
- ## 2.0.0 - 2023-08-16
9
+ Changes
8
10
 
9
- - Yanked by mistake :(
11
+ - Fix rubocop violations
10
12
 
11
- ## 2.0.0.alpha.1 - 2023-08-16
13
+ ## [2.0.1] 2023-08-16
12
14
 
13
- - Changes
14
- - Major refactors to the `dsu` codebase.
15
- - Added `dsu theme` command to incorporate color themes. See `dsu help theme` for more information.
16
- - Added `dsu info` command to display details about the current dsu release. See `dsu help info` for more information.
17
- - Added "migrations", which is really a method of backup whereby user data is backed up to the dsu folder under `backup/<migration version>`. Backups will occur whenever a breaking change is made to any of the dsu models (ColorTheme, Configuration, EntryGroup or MigrationVersion). In this way, users can create their own scripts to migrate their associated model `.json`` files to the latest model version, and move them back into the appropriate dsu folder structure so data can be retained.
18
- - Changes to command help to be more uniform.
19
- - Bug fixes
20
- - Various bug fixes.
15
+ Changes
21
16
 
22
- ## 2.0.0.alpha.0 - 2023-06-26 (yanked)
17
+ - Bump to official release.
18
+ - None (see below).
19
+
20
+ ## [2.0.0] 2023-08-16 (yanked)
21
+
22
+ ## [2.0.0.alpha.1] 2023-08-16
23
+
24
+ Changes
25
+
26
+ - Major refactors to the `dsu` codebase.
27
+ - Added `dsu theme` command to incorporate color themes. See `dsu help theme` for more information.
28
+ - Added `dsu info` command to display details about the current dsu release. See `dsu help info` for more information.
29
+ - Added "migrations", which is really a method of backup whereby user data is backed up to the dsu folder under `backup/<migration version>`. Backups will occur whenever a breaking change is made to any of the dsu models (ColorTheme, Configuration, EntryGroup or MigrationVersion). In this way, users can create their own scripts to migrate their associated model `.json`` files to the latest model version, and move them back into the appropriate dsu folder structure so data can be retained.
30
+ - Changes to command help to be more uniform.
31
+
32
+ Bug fixes
33
+
34
+ - Various bug fixes.
35
+
36
+ ## [2.0.0.alpha.0] 2023-06-26 (yanked)
23
37
 
24
38
  ## [1.2.1] 2023-06-02
25
39
 
26
- - Bug fixes
27
- - Fixed a bug that raises an error `NoMethodError` for `entry_group_file_exists?` if the `carry_over_entries_to_today` configuration option is set to true, and attempting to edit today's dsu entries.
40
+ Bug fixes
41
+
42
+ - Fixed a bug that raises an error `NoMethodError` for `entry_group_file_exists?` if the `carry_over_entries_to_today` configuration option is set to true, and attempting to edit today's dsu entries.
28
43
 
29
44
  ## [1.2.0] 2023-05-26
30
45
 
31
- - Changes
32
- - Various refactors.
33
- - Bring test coverage to >= 85%.
46
+ Changes
47
+
48
+ - Various refactors.
49
+ - Bring test coverage to >= 85%.
34
50
 
35
51
  ## [1.1.2] 2023-05-26
36
52
 
37
- - Changes
38
- - Various refactors.
39
- - Add more test coverage.
53
+ Changes
54
+
55
+ - Various refactors.
56
+ - Add more test coverage.
40
57
 
41
- ## [1.1.1] - 2023-05-23
58
+ ## [1.1.1] 2023-05-23
42
59
 
43
- - See previous alpha releases for changes.
60
+ See previous alpha releases for changes.
44
61
 
45
- ## [1.1.1.alpha.2] - 2023-05-23
62
+ ## [1.1.1.alpha.2] 2023-05-23
46
63
 
47
- - Changes
48
- - For convenience, the `dsu list date` command now takes a MNEUMONIC in addition to a DATE. See `dsu list help date` for more information.
49
- - Bug fixes
50
- - Fix a bug that did not display `dsu list dates SUBCOMMAND` date list properly when the `--from` option was a date mneumonic and the `--to` optoin was a relative time mneumonic (e.g. `dsu list dates -f today -t +1`). In this case, DSU dates `Time.now` and `Time.now.tomorrow` should be displayed; instead, the bug would consider the `--to` option as relative to `Time.now`, so only 1 DSU date (`Time.now` would be returned).
64
+ Changes
51
65
 
52
- ## [1.1.0.alpha.1] - 2023-05-23
66
+ - For convenience, the `dsu list date` command now takes a MNEUMONIC in addition to a DATE. See `dsu list help date` for more information.
53
67
 
54
- - Changes
55
- - Added new configuration option `carry_over_entries_to_today` (`true|false`, default: `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 to the 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 start with no previous DSU entries.
56
- - Added new configuration option `include_all` (`true|false`, default: `false`); if true, when using dsu commands that list date ranges (e.g. `dsu list dates`), the displayed list will include dates that have no dsu entries. If false, the displayed list will only include dates that have dsu entries. For all other `dsu list` commands, if true, this option will behave in the aforementioned manner. If false, the displayed list will unconditionally display the first and last dates regardless of whether or not the DSU date has entries or not; all other dates will not be displayed if the DSU date has no entries.
57
- - Changed the look of the editor template when editing entry group entries.
68
+ Bug fixes
58
69
 
59
- ## [1.0.0] - 2023-05-18
70
+ - Fix a bug that did not display `dsu list dates SUBCOMMAND` date list properly when the `--from` option was a date mneumonic and the `--to` optoin was a relative time mneumonic (e.g. `dsu list dates -f today -t +1`). In this case, DSU dates `Time.now` and `Time.now.tomorrow` should be displayed; instead, the bug would consider the `--to` option as relative to `Time.now`, so only 1 DSU date (`Time.now` would be returned).
71
+
72
+ ## [1.1.0.alpha.1] 2023-05-23
73
+
74
+ Changes
75
+
76
+ - Added new configuration option `carry_over_entries_to_today` (`true|false`, default: `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 to the 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 start with no previous DSU entries.
77
+ - Added new configuration option `include_all` (`true|false`, default: `false`); if true, when using dsu commands that list date ranges (e.g. `dsu list dates`), the displayed list will include dates that have no dsu entries. If false, the displayed list will only include dates that have dsu entries. For all other `dsu list` commands, if true, this option will behave in the aforementioned manner. If false, the displayed list will unconditionally display the first and last dates regardless of whether or not the DSU date has entries or not; all other dates will not be displayed if the DSU date has no entries.
78
+ - Changed the look of the editor template when editing entry group entries.
79
+
80
+ ## [1.0.0] 2023-05-18
81
+
82
+ First official release.
60
83
 
61
- - First official release.
62
84
  - NOTE: If you have been using the alpha version of `dsu`, you will need to delete the `entries` folder (e.g. `/Users/<whoami>/dsu/entries` on a nix os) as the old entries .json files are incompatible with this official release.
63
- - Changes from the alpha version
64
- - When editing an entry group, editor commands are no longer necessary. Simply add, remove or change entries as needed. See the README.md for more information.
65
- - When editing an entry group and saving the results, take note of the folowing behavior:
66
- - Entering duplicate entries are not allowed, only one entry with a given description is allowed per entry group.
67
- - Entering entries whose descriptions are < 2 or > 256 characters will fail validation and will not be saved.
68
- - When editing and encountering any of the aforementioned, the errors will be displayed to the console after the editor file is saved.
69
- - Sha's are no longer being used, as I've not found a good use (currently) to use them. I may add them back in the future if I find a good use for them (tracking entries across entry groups, etc.).
70
- - When adding an entry (`dsu add OPTION`), it used to be that after the entry was added, the entry group for the date being edited would be displayed, as well as "yesterday's" date. This is no longer the case; now, only the entry group for the date being edited is displayed.
71
-
72
- ## [0.1.0.alpha.5] - 2023-05-12
73
-
74
- - Changes
75
- - `dsu edit SUBCOMMAND` will now allow editing of an entry group for a date that does not yet exist. This will allow you to add entries in the editor using `+|a|add DESCRIPTION`. Be sure to follow the instructions in the editor when editing entry group entries.
76
- - `dsu edit SUBCOMMAND` will gracefully display an error if the entry sha (Entry#uuid) or entry discription (Entry#description) are not unique. In this case, the entry will not be added to the entry group.
77
- NOTE: Not all edge cases are being handled currently by `dsu edit SUBCOMMAND`.
78
- - `dsu add OPTION` will raise an error if the entry discription (Entry#description) are not unique. This will be handled gracefully in a future release.
79
-
80
- ## [0.1.0.alpha.4] - 2023-05-09
81
-
82
- - Changes
83
- - Gemfile gemspec description changes.
84
-
85
- ## [0.1.0.alpha.3] - 2023-05-09
86
-
87
- - Changes
88
- - Entry groups are now editable using the `dsu edit SUBCOMMAND` command. See the README.md or `dsu help edit` for more information.
89
- - Added `editor` configuration option to specify the editor to use when editing an entry group. This configuration option is used if the $EDITOR environment variable is not set.
90
- - Bug fixes
91
- - Fix bug that failed to load default configuration values properly when provided (surfaced in specs).
92
-
93
- ## [0.1.0.alpha.2] - 2023-05-08
94
-
95
- - ATTENTION: After installing this pre-release, run `dsu config info` and take note of the `entries_folder` config option value (e.g. something like '/Users/<whoami>/dsu/entries' on a nix os). You'll need to delete the entry group files therein ( \<YYYY\>\-\<MM\>\-\<DD\>.json e.g. 2023-05-07.json) to avoid errors when running this version of `dsu`.
96
- - WIP (not fully implemented yet)
97
- - Added `dsu edit` command to edit an existing entry.
98
- - Changes
99
- - Remove Entry#long_description and make Entry#description longer (to 256 bytes max).
100
- - Added `dsu` short-cut commands|options `a|-a`, `c|-c`, `e|-e` and `l|-l` for `add`, `config`, `edit` and `list` commands respectively. For example, can now do `dsu a` or `dsu -a` instead of `dsu add`.
101
- - Added `dsu list` short-cut subcommand|options `d|-d`, `n|-n`, `t|-t` and `y|-y` for `date DATE`, `today`, `tomorrow` and `yesterday` subcommands respectively. For example, can now do `dsu n` or `dsu -n` instead of `dsu today` to list your DSU entries for "today".
102
- - `dsu list` commands now lists all DSU entries from the date being requested (SUBCOMMAND i.e. `today`, `tomorrow`, `yesterday` or `date`), back to and including the previous Friday IF the date being being requested falls on a Monday or weekend. This is so that the DSU entries for the weekend and previous Friday can be shared at DSU if you hold a DSU on the weekend (if you're insane enough to work and have DSU on the weekend) or on a Monday if you happened to work on the weekend as well.
103
- - `dsu config info` now displays the default configuration being used if no configuration file is being used.
104
- - Bug fixes
105
- - Fix bug that fails to load/use configuration file options when a config file exists.
106
-
107
- ## [0.1.0.alpha.1] - 2023-05-06
108
-
109
- - Initial (alpha) release. See README.md for instructions.
85
+
86
+ Changes from the alpha version
87
+
88
+ - When editing an entry group, editor commands are no longer necessary. Simply add, remove or change entries as needed. See the README.md for more information.
89
+ - When editing an entry group and saving the results, take note of the folowing behavior:
90
+ - Entering duplicate entries are not allowed, only one entry with a given description is allowed per entry group.
91
+ - Entering entries whose descriptions are < 2 or > 256 characters will fail validation and will not be saved.
92
+ - When editing and encountering any of the aforementioned, the errors will be displayed to the console after the editor file is saved.
93
+ - Sha's are no longer being used, as I've not found a good use (currently) to use them. I may add them back in the future if I find a good use for them (tracking entries across entry groups, etc.).
94
+ - When adding an entry (`dsu add OPTION`), it used to be that after the entry was added, the entry group for the date being edited would be displayed, as well as "yesterday's" date. This is no longer the case; now, only the entry group for the date being edited is displayed.
95
+
96
+ ## [0.1.0.alpha.5] 2023-05-12
97
+
98
+ Changes
99
+
100
+ - `dsu edit SUBCOMMAND` will now allow editing of an entry group for a date that does not yet exist. This will allow you to add entries in the editor using `+|a|add DESCRIPTION`. Be sure to follow the instructions in the editor when editing entry group entries.
101
+ - `dsu edit SUBCOMMAND` will gracefully display an error if the entry sha (Entry#uuid) or entry discription (Entry#description) are not unique. In this case, the entry will not be added to the entry group.
102
+ NOTE: Not all edge cases are being handled currently by `dsu edit SUBCOMMAND`.
103
+ - `dsu add OPTION` will raise an error if the entry discription (Entry#description) are not unique. This will be handled gracefully in a future release.
104
+
105
+ ## [0.1.0.alpha.4] 2023-05-09
106
+
107
+ Changes
108
+
109
+ - Gemfile gemspec description changes.
110
+
111
+ ## [0.1.0.alpha.3] 2023-05-09
112
+
113
+ Changes
114
+
115
+ - Entry groups are now editable using the `dsu edit SUBCOMMAND` command. See the README.md or `dsu help edit` for more information.
116
+ - Added `editor` configuration option to specify the editor to use when editing an entry group. This configuration option is used if the $EDITOR environment variable is not set.
117
+
118
+ Bug fixes
119
+
120
+ - Fix bug that failed to load default configuration values properly when provided (surfaced in specs).
121
+
122
+ ## [0.1.0.alpha.2] 2023-05-08
123
+
124
+ ATTENTION: After installing this pre-release, run `dsu config info` and take note of the `entries_folder` config option value (e.g. something like '/Users/<whoami>/dsu/entries' on a nix os). You'll need to delete the entry group files therein ( \<YYYY\>\-\<MM\>\-\<DD\>.json e.g. 2023-05-07.json) to avoid errors when running this version of `dsu`.
125
+
126
+ WIP (not fully implemented yet)
127
+
128
+ - Added `dsu edit` command to edit an existing entry.
129
+
130
+ Changes
131
+
132
+ - Remove Entry#long_description and make Entry#description longer (to 256 bytes max).
133
+ - Added `dsu` short-cut commands|options `a|-a`, `c|-c`, `e|-e` and `l|-l` for `add`, `config`, `edit` and `list` commands respectively. For example, can now do `dsu a` or `dsu -a` instead of `dsu add`.
134
+ - Added `dsu list` short-cut subcommand|options `d|-d`, `n|-n`, `t|-t` and `y|-y` for `date DATE`, `today`, `tomorrow` and `yesterday` subcommands respectively. For example, can now do `dsu n` or `dsu -n` instead of `dsu today` to list your DSU entries for "today".
135
+ - `dsu list` commands now lists all DSU entries from the date being requested (SUBCOMMAND i.e. `today`, `tomorrow`, `yesterday` or `date`), back to and including the previous Friday IF the date being being requested falls on a Monday or weekend. This is so that the DSU entries for the weekend and previous Friday can be shared at DSU if you hold a DSU on the weekend (if you're insane enough to work and have DSU on the weekend) or on a Monday if you happened to work on the weekend as well.
136
+ - `dsu config info` now displays the default configuration being used if no configuration file is being used.
137
+
138
+ Bug fixes
139
+ - Fix bug that fails to load/use configuration file options when a config file exists.
140
+
141
+ ## [0.1.0.alpha.1] 2023-05-06
142
+
143
+ Initial (alpha) release. See README.md for instructions.
data/Gemfile CHANGED
@@ -9,8 +9,8 @@ gem 'dotenv', '~> 2.8', '>= 2.8.1'
9
9
  gem 'rake', '~> 13.0'
10
10
  gem 'rspec', '~> 3.0'
11
11
  gem 'rubocop', '~> 1.50', '>= 1.50.2'
12
- gem 'rubocop-performance', '~> 1.17', '>= 1.17.1'
13
- gem 'rubocop-rspec', '~> 2.20'
12
+ gem 'rubocop-performance', '~> 1.19'
13
+ gem 'rubocop-rspec', '~> 2.23'
14
14
 
15
15
  gem 'factory_bot', '~> 6.2', '>= 6.2.1'
16
16
  gem 'ffaker', '~> 2.21'
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dsu (2.0.1)
4
+ dsu (2.0.2)
5
5
  activemodel (~> 7.0, >= 7.0.4.3)
6
6
  activesupport (~> 7.0, >= 7.0.4)
7
- colorize (~> 0.8.1)
7
+ colorize (>= 0.8.1, < 1.2.0)
8
8
  os (~> 1.1, >= 1.1.4)
9
9
  thor (~> 1.2, >= 1.2.1)
10
10
  thor_nested_subcommand (~> 1.0)
@@ -83,10 +83,10 @@ GEM
83
83
  rubocop (~> 1.41)
84
84
  rubocop-factory_bot (2.23.1)
85
85
  rubocop (~> 1.33)
86
- rubocop-performance (1.18.0)
86
+ rubocop-performance (1.19.0)
87
87
  rubocop (>= 1.7.0, < 2.0)
88
88
  rubocop-ast (>= 0.4.0)
89
- rubocop-rspec (2.22.0)
89
+ rubocop-rspec (2.23.2)
90
90
  rubocop (~> 1.33)
91
91
  rubocop-capybara (~> 2.17)
92
92
  rubocop-factory_bot (~> 2.22)
@@ -116,8 +116,8 @@ DEPENDENCIES
116
116
  reek (~> 6.1, >= 6.1.1)
117
117
  rspec (~> 3.0)
118
118
  rubocop (~> 1.50, >= 1.50.2)
119
- rubocop-performance (~> 1.17, >= 1.17.1)
120
- rubocop-rspec (~> 2.20)
119
+ rubocop-performance (~> 1.19)
120
+ rubocop-rspec (~> 2.23)
121
121
  simplecov (~> 0.21.2)
122
122
 
123
123
  BUNDLED WITH
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\.\d+)?\z/
5
- VERSION = '2.0.1'
5
+ VERSION = '2.0.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.0.1
4
+ version: 2.0.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: 2023-08-16 00:00:00.000000000 Z
11
+ date: 2023-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -54,16 +54,22 @@ dependencies:
54
54
  name: colorize
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - "~>"
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
59
  version: 0.8.1
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: 1.2.0
60
63
  type: :runtime
61
64
  prerelease: false
62
65
  version_requirements: !ruby/object:Gem::Requirement
63
66
  requirements:
64
- - - "~>"
67
+ - - ">="
65
68
  - !ruby/object:Gem::Version
66
69
  version: 0.8.1
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: 1.2.0
67
73
  - !ruby/object:Gem::Dependency
68
74
  name: os
69
75
  requirement: !ruby/object:Gem::Requirement