Skip to content

Commit e28dd6f

Browse files
authored
Merge pull request #71 from blocknotes/api/delete-return-if-file-gets-deleted
#delete returns if the file has been deleted
2 parents e808b7b + 6dbb9e6 commit e28dd6f

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

lib/active_storage/service/db_service.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,10 @@ def download_chunk(key, range)
5757

5858
def delete(key)
5959
instrument :delete, key: key do
60-
::ActiveStorageDB::File.find_by(ref: key)&.destroy
61-
# Ignore files already deleted
60+
record = ::ActiveStorageDB::File.find_by(ref: key)
61+
record&.destroy
62+
# NOTE: Ignore files already deleted
63+
!record.nil?
6264
end
6365
end
6466

spec/service/active_storage/service/db_service_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,17 @@
8585

8686
before { upload }
8787

88+
it { is_expected.to be_truthy }
89+
8890
it 'deletes the file' do
8991
expect { delete }.to change(ActiveStorageDB::File, :count).from(1).to(0)
9092
end
93+
94+
context "when the attachment is not found" do
95+
subject(:delete) { service.delete("#{key}!") }
96+
97+
it { is_expected.to be_falsey }
98+
end
9199
end
92100

93101
describe '.delete_prefixed' do

0 commit comments

Comments
 (0)