Method: Trove::Storage::S3#upload

Defined in:
lib/trove/storage/s3.rb

#upload(src, filename, &block) ⇒ Object



41
42
43
44
45
46
47
48
49
50
# File 'lib/trove/storage/s3.rb', line 41

def upload(src, filename, &block)
  on_chunk_sent = lambda do |_, current_size, total_size|
    block.call(current_size, total_size)
  end
  resp = nil
  File.open(src, "rb") do |file|
    resp = client.put_object(bucket: bucket, key: key(filename), body: file, on_chunk_sent: on_chunk_sent)
  end
  {version: resp.version_id}
end