dsu 1.1.2 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|