5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/active_storage/service/db_service_rails70.rb', line 5
def compose(source_keys, destination_key, **)
buffer = nil
= "DBService#compose"
source_keys.each do |source_key|
record = ::ActiveStorageDB::File.annotate().select(:data).find_by(ref: source_key)
raise ActiveStorage::FileNotFoundError unless record
if buffer
buffer << record.data
else
buffer = +record.data
end
end
::ActiveStorageDB::File.create!(ref: destination_key, data: buffer) if buffer
end
|