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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5463729b129f23fd94b8966f0202a7b98b9e6619432ce00791c554cefe305ba4
4
- data.tar.gz: b9b46417c310966bffc62d318dbdbde6279f4594663df779368a879e7c4c5c88
3
+ metadata.gz: 38598a0a55919f57722e25ecd6656b7e4a9148fba9af4c9bb0e05bdd95673ba9
4
+ data.tar.gz: 2c05be9216300f1a20da72cacd81febcb766bd5c4d9fb837061833ab1dd84b0b
5
5
  SHA512:
6
- metadata.gz: 0fa7ffa5b0f96972d363e0f75411408bc43e191a71b675053ab051d01cf63f3f13a9656b8abc3bd79c56458a7977669f08a7e2b47abced895a341c18b3c0aeba
7
- data.tar.gz: bf7cdf85e9f522651775bc0f039d7e627d27fc19a1c311085b48f9b44a8abf69d510c174790d0e4b9ecba9125fd7e3825b4450f455fd3a4f119ded25889a1ed5
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
- puts " Total projects: #{manifest[:projects].size}"
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appydave
4
4
  module Tools
5
- VERSION = '0.49.0'
5
+ VERSION = '0.50.0'
6
6
  end
7
7
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appydave-tools",
3
- "version": "0.49.0",
3
+ "version": "0.50.0",
4
4
  "description": "AppyDave YouTube Automation Tools",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appydave-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.49.0
4
+ version: 0.50.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys