Skip to content

Commit f22d44b

Browse files
committed
Address code review feedback on examples and resources
1 parent 9821a80 commit f22d44b

21 files changed

Lines changed: 131 additions & 60 deletions

api_examples/rest_api/delete_files_storage.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,8 @@
44
Uploadcare.configuration.secret_key = ENV.fetch('UPLOADCARE_SECRET_KEY', 'YOUR_SECRET_KEY')
55

66
uuids = ENV.fetch('UPLOADCARE_FILE_UUIDS',
7-
'21975c81-7f57-4c7a-aef9-acfe28779f78,cbaf2d73-5169-4b2b-a543-496cf2813dff').split(',')
7+
'21975c81-7f57-4c7a-aef9-acfe28779f78,cbaf2d73-5169-4b2b-a543-496cf2813dff')
8+
.split(',')
9+
.map(&:strip)
10+
.reject(&:empty?)
811
puts Uploadcare::File.batch_delete(uuids: uuids)

api_examples/rest_api/post_addons_remove_bg_execute.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
Uploadcare.configuration.secret_key = ENV.fetch('UPLOADCARE_SECRET_KEY', 'YOUR_SECRET_KEY')
55

66
uuid = ENV.fetch('UPLOADCARE_FILE_UUID', '1bac376c-aa7e-4356-861b-dd2657b5bfd2')
7-
Uploadcare::Addons.remove_bg(uuid: uuid, params: { crop: true })
7+
puts Uploadcare::Addons.remove_bg(uuid: uuid, params: { crop: true })

api_examples/rest_api/post_files_remote_copy.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
# Copy a file to remote/custom storage
24
# NOTE: Custom storage must be configured in your Uploadcare Dashboard first:
35
# Dashboard → Project Settings → Custom Storage

api_examples/rest_api/put_webhooks_id.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@
1010
is_active: true,
1111
signing_secret: 'webhook-secret'
1212
}
13-
Uploadcare::Webhook.update(id: webhook_id, **options)
13+
updated_webhook = Uploadcare::Webhook.update(id: webhook_id, **options)
14+
puts updated_webhook.inspect

api_examples/upload_api/get_from_url_status.rb

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
# Configure Uploadcare
77
Uploadcare.configure do |config|
8-
config.public_key = ENV.fetch('UPLOADCARE_PUBLIC_KEY', nil)
8+
config.public_key = ENV.fetch('UPLOADCARE_PUBLIC_KEY', 'YOUR_PUBLIC_KEY')
99
end
1010

1111
# Start an async upload
@@ -15,8 +15,13 @@
1515
source_url = ENV.fetch('UPLOADCARE_TEST_URL', 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Cat_November_2010-1a.jpg/1200px-Cat_November_2010-1a.jpg')
1616

1717
client = Uploadcare::UploadClient.new
18-
result = client.upload_from_url(source_url: source_url, async: true).success
19-
token = result['token']
18+
result = client.upload_from_url(source_url: source_url, async: true)
19+
unless result.success?
20+
warn "Upload failed: #{result.error_message}"
21+
exit 1
22+
end
23+
24+
token = result.success['token']
2025

2126
puts "Upload token: #{token}"
2227
puts
@@ -26,7 +31,13 @@
2631
puts '=' * 50
2732

2833
5.times do |i|
29-
status = client.upload_from_url_status(token: token).success
34+
status_result = client.upload_from_url_status(token: token)
35+
unless status_result.success?
36+
warn "Status check failed: #{status_result.error_message}"
37+
break
38+
end
39+
40+
status = status_result.success
3041

3142
puts "Poll #{i + 1}:"
3243
puts " Status: #{status['status']}"

api_examples/upload_api/get_group_info.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'uploadcare'
2+
require 'dotenv/load'
23
Uploadcare.configuration.public_key = ENV.fetch('UPLOADCARE_PUBLIC_KEY', 'YOUR_PUBLIC_KEY')
34
Uploadcare.configuration.secret_key = ENV.fetch('UPLOADCARE_SECRET_KEY', 'YOUR_SECRET_KEY')
45

api_examples/upload_api/post_base.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414

1515
puts 'Uploading file...'
1616
result = nil
17-
File.open('spec/fixtures/kitten.jpeg', 'rb') do |file|
17+
fixture_path = File.expand_path('../../spec/fixtures/kitten.jpeg', __dir__)
18+
File.open(fixture_path, 'rb') do |file|
1819
result = client.upload_file(file: file, store: true)
1920
end
2021

api_examples/upload_api/post_from_url.rb

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,31 @@
1515
source_url = ENV.fetch('UPLOADCARE_TEST_URL', 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Cat_November_2010-1a.jpg/1200px-Cat_November_2010-1a.jpg')
1616

1717
client = Uploadcare::UploadClient.new
18-
result = client.upload_from_url(source_url: source_url, store: true).success
18+
result = client.upload_from_url(source_url: source_url, store: true)
19+
unless result.success?
20+
warn "Upload failed: #{result.error_message}"
21+
exit 1
22+
end
23+
24+
payload = result.success
1925

2026
puts 'Upload complete!'
21-
puts "File UUID: #{result['uuid']}"
22-
puts "Original filename: #{result['original_filename']}"
23-
puts "File size: #{result['size']} bytes"
27+
puts "File UUID: #{payload['uuid']}"
28+
puts "Original filename: #{payload['original_filename']}"
29+
puts "File size: #{payload['size']} bytes"
2430
puts
2531

2632
# Example 2: Upload from URL (async mode - returns immediately)
2733
puts 'Example 2: Upload from URL (async mode)'
2834
puts '=' * 50
2935

30-
result = client.upload_from_url(source_url: source_url, async: true).success
31-
token = result['token']
36+
result = client.upload_from_url(source_url: source_url, async: true)
37+
unless result.success?
38+
warn "Async upload failed: #{result.error_message}"
39+
exit 1
40+
end
41+
42+
token = result.success['token']
3243

3344
puts 'Upload started asynchronously'
3445
puts "Token: #{token}"
@@ -38,7 +49,13 @@
3849
puts 'Example 3: Check upload status'
3950
puts '=' * 50
4051

41-
status = client.upload_from_url_status(token: token).success
52+
status_result = client.upload_from_url_status(token: token)
53+
unless status_result.success?
54+
warn "Status check failed: #{status_result.error_message}"
55+
exit 1
56+
end
57+
58+
status = status_result.success
4259

4360
case status['status']
4461
when 'success'

examples/group_creation.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,13 @@
4343
file_paths.each_with_index do |path, index|
4444
File.open(path, 'rb') do |file|
4545
response = upload_client.upload_file(file: file, store: true)
46-
uuid = response.values.first
46+
if response.failure?
47+
puts "✗ Upload failed: #{response.error_message}"
48+
exit 1
49+
end
50+
51+
payload = response.success
52+
uuid = payload[File.basename(path)] || payload.values.first
4753
uuids << uuid
4854
puts " #{index + 1}. #{File.basename(path)}#{uuid}"
4955
end

lib/uploadcare/clients/file_client.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,7 @@ def batch_store(uuids:, request_options: {})
4545
# @return [Hash] The response body containing 'result' and 'problems'
4646
# @see https://uploadcare.com/api-refs/rest-api/v0.7.0/#tag/File/operation/filesDelete
4747
def batch_delete(uuids:, request_options: {})
48-
# Call parent class delete method directly
49-
RestClient.instance_method(:delete).bind(self).call(path: '/files/storage/', params: uuids, headers: {},
50-
request_options: request_options)
48+
request(method: :delete, path: '/files/storage/', params: uuids, headers: {}, request_options: request_options)
5149
end
5250

5351
# Copies a file to local storage

0 commit comments

Comments
 (0)