diff options
3 files changed, 4 insertions, 65 deletions
diff --git a/activestorage/app/models/active_storage/variant.rb b/activestorage/app/models/active_storage/variant.rb index bc0058967a..1859b8482e 100644 --- a/activestorage/app/models/active_storage/variant.rb +++ b/activestorage/app/models/active_storage/variant.rb @@ -96,19 +96,13 @@ class ActiveStorage::Variant end def process - blob.open do |image| - transform(image) { |output| upload(output) } + blob.open do |input| + variation.transform(input, format: format) do |output| + service.upload(key, output) + end end end - def transform(image, &block) - variation.transform(image, format: format, &block) - end - - def upload(file) - service.upload(key, file) - end - def specification @specification ||= diff --git a/activestorage/test/controllers/blobs_controller_test.rb b/activestorage/test/controllers/blobs_controller_test.rb index 9bf2641de6..9c811df895 100644 --- a/activestorage/test/controllers/blobs_controller_test.rb +++ b/activestorage/test/controllers/blobs_controller_test.rb @@ -20,28 +20,3 @@ class ActiveStorage::BlobsControllerTest < ActionDispatch::IntegrationTest assert_equal "max-age=300, private", @response.headers["Cache-Control"] end end - -if SERVICE_CONFIGURATIONS[:s3] && SERVICE_CONFIGURATIONS[:s3][:access_key_id].present? - class ActiveStorage::S3BlobsControllerTest < ActionDispatch::IntegrationTest - setup do - @old_service = ActiveStorage::Blob.service - ActiveStorage::Blob.service = ActiveStorage::Service.configure(:s3, SERVICE_CONFIGURATIONS) - end - - teardown do - ActiveStorage::Blob.service = @old_service - end - - test "allow redirection to the different host" do - blob = create_file_blob filename: "racecar.jpg" - - assert_nothing_raised { get rails_blob_url(blob) } - assert_response :redirect - assert_no_match @request.host, @response.headers["Location"] - ensure - blob.purge - end - end -else - puts "Skipping S3 redirection tests because no S3 configuration was supplied" -end diff --git a/activestorage/test/controllers/representations_controller_test.rb b/activestorage/test/controllers/representations_controller_test.rb index 4ae0ff877e..2662cc5283 100644 --- a/activestorage/test/controllers/representations_controller_test.rb +++ b/activestorage/test/controllers/representations_controller_test.rb @@ -59,33 +59,3 @@ class ActiveStorage::RepresentationsControllerWithPreviewsTest < ActionDispatch: assert_response :not_found end end - -if SERVICE_CONFIGURATIONS[:s3] && SERVICE_CONFIGURATIONS[:s3][:access_key_id].present? - class ActiveStorage::S3RepresentationsControllerWithVariantsTest < ActionDispatch::IntegrationTest - setup do - @old_service = ActiveStorage::Blob.service - ActiveStorage::Blob.service = ActiveStorage::Service.configure(:s3, SERVICE_CONFIGURATIONS) - end - - teardown do - ActiveStorage::Blob.service = @old_service - end - - test "allow redirection to the different host" do - blob = create_file_blob filename: "racecar.jpg" - - assert_nothing_raised do - get rails_blob_representation_url( - filename: blob.filename, - signed_blob_id: blob.signed_id, - variation_key: ActiveStorage::Variation.encode(resize: "100x100")) - end - assert_response :redirect - assert_no_match @request.host, @response.headers["Location"] - ensure - blob.purge - end - end -else - puts "Skipping S3 redirection tests because no S3 configuration was supplied" -end |