appydave-tools 0.76.8 → 0.76.9

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: 837cfa631ce3f72655208add542964a605efa385aea01abfe49c55fb9110cdbb
4
- data.tar.gz: 4adfd72dad7dc7a41f909857a21616d3385b259ee11969d94641c75731713924
3
+ metadata.gz: 2680beb9f23fb4e1c959404fe28030b130a974076dce5cacef2f465b423e030d
4
+ data.tar.gz: a06b45b3b820ac61388586e97dc03dc45dc83850bcd574fdd04194d0f772ddf5
5
5
  SHA512:
6
- metadata.gz: 2748e05e28b1c0cd4a7e6ec99f13a513c68ec49115d6b90bd0090d25467958eb0dd759cbf6fb8b94f210fc1835ee5d2c77cac79e3d7043cac2127513d982d89f
7
- data.tar.gz: cf039ebec627c4899f5abc6c309829894c4dbca2ec71daf6ceb1143f61b72a46edb480223c9a8ab6acd5892ef343980f5395d6f6363276352056f111c3753026
6
+ metadata.gz: 89c6eca337d36e59414d0d548952a6d5715e85569f697b2a9f602acca7475c5597126c655d1ff8fb1de9cf6028cc71c7877a8efb7ba6ed74b813949f5fa045c1
7
+ data.tar.gz: bf3b5f157a2947dcf21c7f82e07b35995009f7291ae453de02d29b15b49b3e5051a562d89a52427669248f6e6a4c359f950a3739b173e465e5661cb48412b6c7
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.76.8](https://github.com/appydave/appydave-tools/compare/v0.76.7...v0.76.8) (2026-03-19)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * replace exit 1 with typed exceptions in S3ScanCommand and S3ArgParser; add UsageError to errors.rb ([87bb43a](https://github.com/appydave/appydave-tools/commit/87bb43a9a9e67734061685670d32239aeef9a306))
7
+
1
8
  ## [0.76.7](https://github.com/appydave/appydave-tools/compare/v0.76.6...v0.76.7) (2026-03-19)
2
9
 
3
10
 
data/bin/dam CHANGED
@@ -155,6 +155,7 @@ class VatCLI
155
155
  # S3 Upload
156
156
  def s3_up_command(args)
157
157
  options = Appydave::Tools::Dam::S3ArgParser.parse_s3(args, 's3-up')
158
+ ENV['BRAND_PATH'] = options[:brand_path]
158
159
  s3_ops = Appydave::Tools::Dam::S3Operations.new(options[:brand], options[:project])
159
160
  s3_ops.upload(dry_run: options[:dry_run])
160
161
  rescue StandardError => e
@@ -165,6 +166,7 @@ class VatCLI
165
166
  # S3 Download
166
167
  def s3_down_command(args)
167
168
  options = Appydave::Tools::Dam::S3ArgParser.parse_s3(args, 's3-down')
169
+ ENV['BRAND_PATH'] = options[:brand_path]
168
170
  s3_ops = Appydave::Tools::Dam::S3Operations.new(options[:brand], options[:project])
169
171
  s3_ops.download(dry_run: options[:dry_run])
170
172
  rescue StandardError => e
@@ -175,6 +177,7 @@ class VatCLI
175
177
  # S3 Status
176
178
  def s3_status_command(args)
177
179
  options = Appydave::Tools::Dam::S3ArgParser.parse_s3(args, 's3-status')
180
+ ENV['BRAND_PATH'] = options[:brand_path]
178
181
  s3_ops = Appydave::Tools::Dam::S3Operations.new(options[:brand], options[:project])
179
182
  s3_ops.status
180
183
  rescue StandardError => e
@@ -185,6 +188,7 @@ class VatCLI
185
188
  # S3 Cleanup Remote
186
189
  def s3_cleanup_remote_command(args)
187
190
  options = Appydave::Tools::Dam::S3ArgParser.parse_s3(args, 's3-cleanup-remote')
191
+ ENV['BRAND_PATH'] = options[:brand_path]
188
192
  s3_ops = Appydave::Tools::Dam::S3Operations.new(options[:brand], options[:project])
189
193
  s3_ops.cleanup(force: options[:force], dry_run: options[:dry_run])
190
194
  rescue StandardError => e
@@ -195,6 +199,7 @@ class VatCLI
195
199
  # S3 Cleanup Local
196
200
  def s3_cleanup_local_command(args)
197
201
  options = Appydave::Tools::Dam::S3ArgParser.parse_s3(args, 's3-cleanup-local')
202
+ ENV['BRAND_PATH'] = options[:brand_path]
198
203
  s3_ops = Appydave::Tools::Dam::S3Operations.new(options[:brand], options[:project])
199
204
  s3_ops.cleanup_local(force: options[:force], dry_run: options[:dry_run])
200
205
  rescue StandardError => e
@@ -205,7 +210,7 @@ class VatCLI
205
210
  # Share file via pre-signed URL
206
211
  def s3_share_command(args)
207
212
  options = Appydave::Tools::Dam::S3ArgParser.parse_share(args)
208
-
213
+ ENV['BRAND_PATH'] = options[:brand_path]
209
214
  share_ops = Appydave::Tools::Dam::ShareOperations.new(options[:brand], options[:project])
210
215
  share_ops.generate_links(files: options[:file], expires: options[:expires], download: options[:download])
211
216
  rescue StandardError => e
@@ -216,6 +221,7 @@ class VatCLI
216
221
  # Discover files in S3 for a project
217
222
  def s3_discover_command(args)
218
223
  options = Appydave::Tools::Dam::S3ArgParser.parse_discover(args)
224
+ ENV['BRAND_PATH'] = options[:brand_path]
219
225
  files = fetch_s3_files(options[:brand_key], options[:project_id])
220
226
 
221
227
  return if handle_empty_files?(files, options[:brand_key], options[:project_id])
@@ -229,6 +235,7 @@ class VatCLI
229
235
  # Archive project to SSD
230
236
  def archive_command(args)
231
237
  options = Appydave::Tools::Dam::S3ArgParser.parse_s3(args, 'archive')
238
+ ENV['BRAND_PATH'] = options[:brand_path]
232
239
  s3_ops = Appydave::Tools::Dam::S3Operations.new(options[:brand], options[:project])
233
240
  s3_ops.archive(force: options[:force], dry_run: options[:dry_run])
234
241
  rescue StandardError => e
@@ -5,15 +5,17 @@
5
5
  **Target**: 4 items complete; 847+ examples passing; rubocop 0 offenses; no regressions
6
6
 
7
7
  ## Summary
8
- - Total: 4 | Complete: 0 | In Progress: 1 | Pending: 3 | Failed: 0
8
+ - Total: 4 | Complete: 1 | In Progress: 1 | Pending: 2 | Failed: 0
9
9
 
10
10
  ## Pending
11
- - [ ] B035 — extract-env-side-effect — Remove `ENV['BRAND_PATH']` side-effect from S3ArgParser; return `brand_path:` in result hash; update VatCLI callers (DEPENDS ON B034)
12
11
  - [ ] B036 — tests-s3-scan-command — Rebuild S3ScanCommand spec from D-grade to B; 8–10 examples covering happy path, manifest missing, empty results, orphaned projects (DEPENDS ON B034)
13
12
  - [ ] B037 — tests-local-sync-status — Add :partial case, local_file_count assertion, Zone.Identifier exclusion, unknown format guard
14
13
 
15
14
  ## In Progress
16
- - [~] B034 — extract-exit-callsReplace `exit 1` with typed exceptions in S3ScanCommand + S3ArgParser; add `UsageError` to errors.rb
15
+ - [~] B035 — extract-env-side-effectRemove `ENV['BRAND_PATH']` side-effect from S3ArgParser; return `brand_path:` in result hash; update VatCLI callers
16
+
17
+ ## Complete
18
+ - [x] B034 — extract-exit-calls — UsageError added to errors.rb; exit 1 replaced in s3_scan_command.rb (1) and s3_arg_parser.rb (4); show_share_usage_and_exit renamed. 847 examples, 0 failures. v0.76.8. Commit: 87bb43a.
17
19
 
18
20
  ## Complete
19
21
 
@@ -32,14 +32,12 @@ module Appydave
32
32
  end
33
33
 
34
34
  brand_key = brand_arg # Use the shortcut/key (e.g., 'appydave')
35
- brand = Appydave::Tools::Dam::Config.expand_brand(brand_arg) # Expand for path resolution
36
35
  project_id = Appydave::Tools::Dam::ProjectResolver.resolve(brand_arg, project_arg)
37
36
  end
38
37
 
39
- # Set ENV for compatibility with ConfigLoader
40
- ENV['BRAND_PATH'] = Appydave::Tools::Dam::Config.brand_path(brand)
38
+ brand_path = Appydave::Tools::Dam::Config.brand_path(brand_key)
41
39
 
42
- { brand: brand_key, project: project_id, dry_run: dry_run, force: force }
40
+ { brand: brand_key, project: project_id, dry_run: dry_run, force: force, brand_path: brand_path }
43
41
  end
44
42
 
45
43
  def parse_share(args)
@@ -67,10 +65,9 @@ module Appydave
67
65
  brand = Appydave::Tools::Dam::Config.expand_brand(brand_arg)
68
66
  project_id = Appydave::Tools::Dam::ProjectResolver.resolve(brand_arg, project_arg)
69
67
 
70
- # Set ENV for compatibility with ConfigLoader
71
- ENV['BRAND_PATH'] = Appydave::Tools::Dam::Config.brand_path(brand)
68
+ brand_path = Appydave::Tools::Dam::Config.brand_path(brand)
72
69
 
73
- { brand: brand_key, project: project_id, file: file_arg, expires: expires, download: download }
70
+ { brand: brand_key, project: project_id, file: file_arg, expires: expires, download: download, brand_path: brand_path }
74
71
  end
75
72
 
76
73
  def parse_discover(args)
@@ -89,10 +86,9 @@ module Appydave
89
86
  brand = Appydave::Tools::Dam::Config.expand_brand(brand_arg)
90
87
  project_id = Appydave::Tools::Dam::ProjectResolver.resolve(brand_arg, project_arg)
91
88
 
92
- # Set ENV for compatibility with ConfigLoader
93
- ENV['BRAND_PATH'] = Appydave::Tools::Dam::Config.brand_path(brand)
89
+ brand_path = Appydave::Tools::Dam::Config.brand_path(brand)
94
90
 
95
- { brand_key: brand_key, project_id: project_id, shareable: shareable }
91
+ { brand_key: brand_key, project_id: project_id, shareable: shareable, brand_path: brand_path }
96
92
  end
97
93
 
98
94
  def valid_brand?(brand_key)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appydave
4
4
  module Tools
5
- VERSION = '0.76.8'
5
+ VERSION = '0.76.9'
6
6
  end
7
7
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appydave-tools",
3
- "version": "0.76.8",
3
+ "version": "0.76.9",
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.76.8
4
+ version: 0.76.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys