appydave-tools 0.49.0 â 0.50.0
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 +7 -0
- data/lib/appydave/tools/dam/status.rb +50 -1
- data/lib/appydave/tools/version.rb +1 -1
- data/package.json +1 -1
- 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: 38598a0a55919f57722e25ecd6656b7e4a9148fba9af4c9bb0e05bdd95673ba9
|
|
4
|
+
data.tar.gz: 2c05be9216300f1a20da72cacd81febcb766bd5c4d9fb837061833ab1dd84b0b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f1ec38a694d7e59f8c1fb96e22a8e5383cf28ae67f5970d4d85115a7687f0ee1b0ae9f151854233c9b625222a8c3f916ff40485455ed86b640e4a0aeab5e340
|
|
7
|
+
data.tar.gz: 6da457e297a6af254471af6e6f662281c8dff6fd27fdb5f7cf0640b47051ad0491e5e782f9e01c6029e838f205ab39c0afba7fb54687e59eb34c324d80077912
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [0.49.0](https://github.com/appydave/appydave-tools/compare/v0.48.0...v0.49.0) (2025-11-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* improve project status display with size, file counts, and remove git section ([0cc6e15](https://github.com/appydave/appydave-tools/commit/0cc6e155902c25dcd2a551508a91fd3715f94bff))
|
|
7
|
+
|
|
1
8
|
# [0.48.0](https://github.com/appydave/appydave-tools/compare/v0.47.0...v0.48.0) (2025-11-21)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -189,7 +189,24 @@ module Appydave
|
|
|
189
189
|
|
|
190
190
|
def show_manifest_summary(manifest)
|
|
191
191
|
puts 'đ Manifest Summary:'
|
|
192
|
-
|
|
192
|
+
|
|
193
|
+
# Show manifest age
|
|
194
|
+
if manifest[:config] && manifest[:config][:last_updated]
|
|
195
|
+
age = calculate_manifest_age(manifest[:config][:last_updated])
|
|
196
|
+
age_indicator = manifest_age_indicator(age)
|
|
197
|
+
puts " Last updated: #{format_manifest_age(age)} #{age_indicator}"
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
# Count active (flat/local) vs archived projects
|
|
201
|
+
active_count = manifest[:projects].count do |p|
|
|
202
|
+
p[:storage][:local][:exists] && p[:storage][:local][:structure] == 'flat'
|
|
203
|
+
end
|
|
204
|
+
archived_count = manifest[:projects].count do |p|
|
|
205
|
+
p[:storage][:local][:exists] && p[:storage][:local][:structure] == 'archived'
|
|
206
|
+
end
|
|
207
|
+
total = manifest[:projects].size
|
|
208
|
+
|
|
209
|
+
puts " Total: #{total} (Active: #{active_count}, Archived: #{archived_count})"
|
|
193
210
|
|
|
194
211
|
local_count = manifest[:projects].count { |p| p[:storage][:local][:exists] }
|
|
195
212
|
s3_count = manifest[:projects].count { |p| p[:storage][:s3][:exists] }
|
|
@@ -300,6 +317,38 @@ module Appydave
|
|
|
300
317
|
def format_size(bytes)
|
|
301
318
|
FileHelper.format_size(bytes)
|
|
302
319
|
end
|
|
320
|
+
|
|
321
|
+
def calculate_manifest_age(last_updated_str)
|
|
322
|
+
last_updated = Time.parse(last_updated_str)
|
|
323
|
+
Time.now - last_updated
|
|
324
|
+
rescue ArgumentError
|
|
325
|
+
nil
|
|
326
|
+
end
|
|
327
|
+
|
|
328
|
+
def format_manifest_age(age_seconds)
|
|
329
|
+
return 'Unknown' if age_seconds.nil?
|
|
330
|
+
|
|
331
|
+
days = age_seconds / 86_400
|
|
332
|
+
if days < 1
|
|
333
|
+
hours = age_seconds / 3600
|
|
334
|
+
"#{hours.round}h ago"
|
|
335
|
+
else
|
|
336
|
+
"#{days.round}d ago"
|
|
337
|
+
end
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
def manifest_age_indicator(age_seconds)
|
|
341
|
+
return '' if age_seconds.nil?
|
|
342
|
+
|
|
343
|
+
days = age_seconds / 86_400
|
|
344
|
+
if days < 3
|
|
345
|
+
'â Fresh'
|
|
346
|
+
elsif days < 7
|
|
347
|
+
'âšī¸ Aging'
|
|
348
|
+
else
|
|
349
|
+
'â ī¸ Stale'
|
|
350
|
+
end
|
|
351
|
+
end
|
|
303
352
|
end
|
|
304
353
|
end
|
|
305
354
|
end
|
data/package.json
CHANGED