diff --git a/app/logical/storage_manager/cloud.rb b/app/logical/storage_manager/cloud.rb index be1b0facc..c04c1798b 100644 --- a/app/logical/storage_manager/cloud.rb +++ b/app/logical/storage_manager/cloud.rb @@ -9,19 +9,24 @@ class StorageManager::Cloud < StorageManager end def store(io, path) + io.rewind # XXX caller should be responsible for this. data = io.read - client.put_object(bucket, path, data) + client.put_object(bucket, key(path), data) end def delete(path) - client.delete_object(bucket, path) + client.delete_object(bucket, key(path)) end def open(path) file = Tempfile.new(binmode: true) - response = client.get_object(bucket, path) + response = client.get_object(bucket, key(path)) file.write(response.body) file.rewind file end + + def key(path) + path.delete_prefix("/") + end end