dsu 1.1.2 → 1.2.1
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/CHANGELOG.md +8 -1
- data/Gemfile.lock +1 -1
- data/lib/dsu/support/entry_group_fileable.rb +5 -0
- data/lib/dsu/validators/entries_validator.rb +14 -8
- data/lib/dsu/version.rb +1 -1
- data/lib/dsu/views/entry_group/edit.rb +5 -5
- metadata +21 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ce3877d498ca52f9395b713e062dd3448ef447028823b880d5a3e514009d8a9
|
4
|
+
data.tar.gz: 3c3a7ea5fd481d5d1e2ff409a812d5581d779d9061c736a8bd1994276c67e343
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e25b5428fa6779df05b47b37323e5ae25ae776dfa9eb78463f79c2332d84e338b3f668f805ac5c9f24e5702db4d2802e46ee8439fa94d01ffafc6e15093f650a
|
7
|
+
data.tar.gz: 46aa0bbd606a025f9ffc458c98cc59d0070caac1d89d73eafec90d57da7cc7aedc552ece986fbede7bf7f7977d9afbbd314027f61c371d637d5187ae2968cbd2
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
## [1.1
|
1
|
+
## [1.2.1] 2023-06-02
|
2
|
+
* Bug fixes
|
3
|
+
- 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.
|
4
|
+
## [1.2.0] 2023-05-26
|
5
|
+
* Changes
|
6
|
+
- Various refactors.
|
7
|
+
- Bring test coverage to >= 85%.
|
8
|
+
## [1.1.2] 2023-05-26
|
2
9
|
* Changes
|
3
10
|
- Various refactors.
|
4
11
|
- Add more test coverage.
|
data/Gemfile.lock
CHANGED
@@ -14,6 +14,11 @@ module Dsu
|
|
14
14
|
File.exist?(entry_group_file_path)
|
15
15
|
end
|
16
16
|
|
17
|
+
def entry_group_file_exists_for?(time:)
|
18
|
+
entries_file_name = time.strftime(configuration_or_options_configuration[:entries_file_name])
|
19
|
+
File.join(entries_folder, entries_file_name)
|
20
|
+
end
|
21
|
+
|
17
22
|
private
|
18
23
|
|
19
24
|
def entry_group_path_exists?
|
@@ -11,12 +11,14 @@ module Dsu
|
|
11
11
|
|
12
12
|
def validate(record)
|
13
13
|
unless record.entries.is_a?(Array)
|
14
|
-
record.errors.add(:
|
15
|
-
|
14
|
+
record.errors.add(:entries, 'is the wrong object type. ' \
|
15
|
+
"\"Array\" was expected, but \"#{record.entries.class}\" was received.")
|
16
|
+
return
|
16
17
|
end
|
17
18
|
|
18
|
-
validate_entry_types record
|
19
|
-
validate_unique_entry record
|
19
|
+
return if validate_entry_types record
|
20
|
+
return if validate_unique_entry record
|
21
|
+
|
20
22
|
validate_entries record
|
21
23
|
end
|
22
24
|
|
@@ -26,10 +28,12 @@ module Dsu
|
|
26
28
|
record.entries.each do |entry|
|
27
29
|
next if entry.is_a? Dsu::Models::Entry
|
28
30
|
|
29
|
-
record.errors.add(:
|
30
|
-
|
31
|
+
record.errors.add(:entries, 'Array element is the wrong object type. ' \
|
32
|
+
"\"Entry\" was expected, but \"#{entry.class}\" was received.",
|
31
33
|
type: Support::FieldErrors::FIELD_TYPE_ERROR)
|
32
34
|
end
|
35
|
+
|
36
|
+
record.errors.any?
|
33
37
|
end
|
34
38
|
|
35
39
|
def validate_unique_entry(record)
|
@@ -42,10 +46,12 @@ module Dsu
|
|
42
46
|
|
43
47
|
non_unique_descriptions = descriptions.select { |description| descriptions.count(description) > 1 }.uniq
|
44
48
|
if non_unique_descriptions.any?
|
45
|
-
record.errors.add(:
|
46
|
-
|
49
|
+
record.errors.add(:entries, 'Array contains a duplicate entry: ' \
|
50
|
+
"#{format_non_unique_descriptions(non_unique_descriptions)}.",
|
47
51
|
type: Support::FieldErrors::FIELD_DUPLICATE_ERROR)
|
48
52
|
end
|
53
|
+
|
54
|
+
record.errors.any?
|
49
55
|
end
|
50
56
|
|
51
57
|
def validate_entries(record)
|
data/lib/dsu/version.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative '../../models/entry_group'
|
4
|
-
require_relative '../../support/
|
4
|
+
require_relative '../../support/entry_group_fileable'
|
5
5
|
|
6
6
|
module Dsu
|
7
7
|
module Views
|
8
8
|
module EntryGroup
|
9
9
|
class Edit
|
10
|
-
include Support::
|
10
|
+
include Support::EntryGroupFileable
|
11
11
|
|
12
12
|
def initialize(entry_group:, options: {})
|
13
13
|
raise ArgumentError, 'entry_group is nil' if entry_group.nil?
|
@@ -100,7 +100,7 @@ module Dsu
|
|
100
100
|
end
|
101
101
|
|
102
102
|
def previous_entry_group?
|
103
|
-
previous_entry_group.present?
|
103
|
+
previous_entry_group.entries.present?
|
104
104
|
end
|
105
105
|
|
106
106
|
def previous_entry_group
|
@@ -108,13 +108,13 @@ module Dsu
|
|
108
108
|
# TODO: Make this configurable or accept an option?
|
109
109
|
@previous_entry_group ||= (1..7).each do |days|
|
110
110
|
t = time.days_ago(days)
|
111
|
-
return Models::EntryGroup.load(time: t) if
|
111
|
+
return Models::EntryGroup.load(time: t) if entry_group_file_exists_for?(time: t)
|
112
112
|
end
|
113
113
|
nil
|
114
114
|
end
|
115
115
|
|
116
116
|
def carry_over_entries_to_today?
|
117
|
-
configuration[:carry_over_entries_to_today]
|
117
|
+
configuration.merge(options)[:carry_over_entries_to_today]
|
118
118
|
end
|
119
119
|
end
|
120
120
|
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: 1.1
|
4
|
+
version: 1.2.1
|
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-
|
11
|
+
date: 2023-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -118,18 +118,25 @@ dependencies:
|
|
118
118
|
- - "~>"
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: '1.0'
|
121
|
-
description:
|
122
|
-
Up) participation. How? by providing a simple command
|
123
|
-
allows you to create, read, update, and delete (CRUD)
|
124
|
-
|
125
|
-
|
126
|
-
viewed in simple text format from the command
|
127
|
-
for a particular day
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
121
|
+
description: ' dsu is a small, but powerful gem that helps manage your Agile DSU
|
122
|
+
(Daily Stand Up) participation. How? by providing a simple command-line interface
|
123
|
+
(CLI) which allows you to create, read, update, and delete (CRUD) your DSU entries
|
124
|
+
(activities). During your DSU, you can use dsu''s CLI to list and share what you
|
125
|
+
did "yesterday" and what you plan on doing "Today" with your team. DSU entries are
|
126
|
+
grouped by day and can be viewed in simple text format from the command-line. When
|
127
|
+
displaying DSU entries for a particular day, dsu will also display DSU entries for
|
128
|
+
the previous day. If the day you are trying to display falls on a weekend or Monday,
|
129
|
+
dsu will automatically search back to include the weekend and previous Friday dates
|
130
|
+
and display the entries; this is so that you can share what you did over the weekend
|
131
|
+
(if anything) and the previous Friday with your team. When searching for "Yesterday''s"
|
132
|
+
DSU entries, dsu will automatically search back a maximimum of 7 days to find DSU
|
133
|
+
entries to share. This could be helpful if, for example, if you are sharing what
|
134
|
+
you plan to do today (Wednesday), but were sick yesterday (Tuesday); dsu in this
|
135
|
+
case will display the last DSU entries it can find searching backwards a maximum
|
136
|
+
of 7 days. dsu does a LOT more and is perfect for command-line junkies and those
|
137
|
+
who LOVE simplicity. Give it a try and a star if you like it!
|
138
|
+
|
139
|
+
'
|
133
140
|
email:
|
134
141
|
- public.gma@gmail.com
|
135
142
|
executables:
|