fewald-worklog 0.2.26 → 0.2.27
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/.version +1 -1
- data/lib/cli.rb +8 -2
- data/lib/worklog.rb +17 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1f5d2936c205d022b512f27dba2b197c789a718be8e16e2f16a8e16a1ca9b845
|
|
4
|
+
data.tar.gz: ff15975240c49b93d59796e8f20ac9e1eb1afde3d6b1c48468a592e184cf4d02
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5a23fd91469659a76fd9bd6d0bb7d4479f60527bb2dd9a32e5c46d37d39615b44232dcab5b223dbb072e3a26d203b13efdfb8af8584fd4feca8e943dab8c98fe
|
|
7
|
+
data.tar.gz: 4648476ae4f62e5a0dce5ac5cd3eecf2f1e1519783962d999e6891fe197733f45e8aa3cd410159ed2b1265fee5a348d9369bcc7e91e653521075676c530bb974
|
data/.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.2.
|
|
1
|
+
0.2.27
|
data/lib/cli.rb
CHANGED
|
@@ -105,9 +105,15 @@ class WorklogCLI < Thor
|
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
desc 'projects', 'Show all projects defined in the work log'
|
|
108
|
-
|
|
108
|
+
option :oneline, type: :boolean, default: false, desc: 'Show only project titles and keys in a single line format'
|
|
109
|
+
def projects
|
|
109
110
|
worklog = Worklog::Worklog.new
|
|
110
|
-
|
|
111
|
+
|
|
112
|
+
if options[:oneline]
|
|
113
|
+
worklog.projects_oneline(options)
|
|
114
|
+
else
|
|
115
|
+
worklog.projects(options)
|
|
116
|
+
end
|
|
111
117
|
end
|
|
112
118
|
|
|
113
119
|
desc 'tags', 'Show all tags used in the work log'
|
data/lib/worklog.rb
CHANGED
|
@@ -200,6 +200,23 @@ module Worklog
|
|
|
200
200
|
end
|
|
201
201
|
end
|
|
202
202
|
|
|
203
|
+
# Show all projects, one line per project.
|
|
204
|
+
# This is a compact view showing only project names and keys.
|
|
205
|
+
def projects_oneline(_options = {})
|
|
206
|
+
project_storage = ProjectStorage.new(@config)
|
|
207
|
+
projects = project_storage.load_projects
|
|
208
|
+
|
|
209
|
+
# Find longest project name for formatting
|
|
210
|
+
max_len = projects.values.map { |p| p.name.length }.max || 0
|
|
211
|
+
|
|
212
|
+
projects.each_value do |project|
|
|
213
|
+
puts "#{Rainbow(project.name.ljust(max_len)).gold} #{project.key}"
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
# Show all projects with details and recent activity.
|
|
218
|
+
# This method loads all projects and their associated log entries.
|
|
219
|
+
# It also calculates the last activity date for each project based on log entries.
|
|
203
220
|
def projects(_options = {})
|
|
204
221
|
project_storage = ProjectStorage.new(@config)
|
|
205
222
|
projects = project_storage.load_projects
|