diff options
author | George Claghorn <george@basecamp.com> | 2018-07-30 21:42:20 -0400 |
---|---|---|
committer | George Claghorn <george@basecamp.com> | 2018-07-30 21:42:20 -0400 |
commit | cd2fe237f76d9d121c7f57d2de89b1445268de0f (patch) | |
tree | ab4a5c38eb4cef302eef46045f2b2a274f25ea6b /activestorage/app/models/active_storage | |
parent | 2a8917d30413927df353d77d9835a86f83625d5a (diff) | |
download | rails-cd2fe237f76d9d121c7f57d2de89b1445268de0f.tar.gz rails-cd2fe237f76d9d121c7f57d2de89b1445268de0f.tar.bz2 rails-cd2fe237f76d9d121c7f57d2de89b1445268de0f.zip |
Guard against missing blobs caused by concurrent purges
Diffstat (limited to 'activestorage/app/models/active_storage')
-rw-r--r-- | activestorage/app/models/active_storage/attachment.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/activestorage/app/models/active_storage/attachment.rb b/activestorage/app/models/active_storage/attachment.rb index 1c4dc25094..4bdd1c0224 100644 --- a/activestorage/app/models/active_storage/attachment.rb +++ b/activestorage/app/models/active_storage/attachment.rb @@ -20,13 +20,13 @@ class ActiveStorage::Attachment < ActiveRecord::Base # Synchronously deletes the attachment and {purges the blob}[rdoc-ref:ActiveStorage::Blob#purge]. def purge delete - blob.purge + blob&.purge end # Deletes the attachment and {enqueues a background job}[rdoc-ref:ActiveStorage::Blob#purge_later] to purge the blob. def purge_later delete - blob.purge_later + blob&.purge_later end private @@ -39,7 +39,7 @@ class ActiveStorage::Attachment < ActiveRecord::Base end def purge_dependent_blob_later - blob.purge_later if dependent == :purge_later + blob&.purge_later if dependent == :purge_later end |