class ActiveStorage::Service::AzureBlobService

def compose(source_keys, destination_key, filename: nil, content_type: nil, disposition: nil, custom_metadata: {})

def compose(source_keys, destination_key, filename: nil, content_type: nil, disposition: nil, custom_metadata: {})
  content_disposition = content_disposition_with(type: disposition, filename: filename) if disposition && filename
  client.create_append_blob(
    destination_key,
    content_type: content_type,
    content_disposition: content_disposition,
    metadata: custom_metadata,
  )
  source_keys.each do |source_key|
    stream(source_key) do |chunk|
      client.append_blob_block(destination_key, chunk)
    end
  end
end