aboutsummaryrefslogtreecommitdiffstats
path: root/lib/active_storage
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2017-07-20 14:06:00 -0500
committerDavid Heinemeier Hansson <david@loudthinking.com>2017-07-20 14:06:00 -0500
commitf1523ab39e38bdc031c3bfb61ed4b6decd23ffcd (patch)
treeb04a953e33a8b23d9002acf4d2e8a4120eaa13b9 /lib/active_storage
parent76395e3c1b997da7b3853b1b3e94b712b1a29ecf (diff)
downloadrails-f1523ab39e38bdc031c3bfb61ed4b6decd23ffcd.tar.gz
rails-f1523ab39e38bdc031c3bfb61ed4b6decd23ffcd.tar.bz2
rails-f1523ab39e38bdc031c3bfb61ed4b6decd23ffcd.zip
Use a unique blob variant key for storage
Diffstat (limited to 'lib/active_storage')
-rw-r--r--lib/active_storage/variant.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/active_storage/variant.rb b/lib/active_storage/variant.rb
index 62262c7790..3053f44211 100644
--- a/lib/active_storage/variant.rb
+++ b/lib/active_storage/variant.rb
@@ -27,7 +27,7 @@ class ActiveStorage::Variant
def url(expires_in: 5.minutes, disposition: :inline)
perform unless exist?
- service.url key, expires_in: expires_in, disposition: disposition, filename: blob.filename
+ service.url blob_variant_key, expires_in: expires_in, disposition: disposition, filename: blob.filename
end
def key
@@ -35,6 +35,10 @@ class ActiveStorage::Variant
end
private
+ def exist?
+ service.exist?(blob_variant_key)
+ end
+
def perform
upload_variant transform(download_blob)
end
@@ -44,7 +48,11 @@ class ActiveStorage::Variant
end
def upload_variant(variation)
- service.upload key, variation
+ service.upload blob_variant_key, variation
+ end
+
+ def blob_variant_key
+ "variants/#{blob.key}/#{key}"
end
def transform(io)