Class: Swa::S3::ObjectVersion

Inherits:
Resource
  • Object
show all
Defined in:
lib/swa/s3/object_version.rb

Instance Attribute Summary

Attributes inherited from Resource

#aws_resource

Instance Method Summary collapse

Methods inherited from Resource

#data, delegate, #initialize, list

Constructor Details

This class inherits a constructor from Swa::Resource

Instance Method Details

#deleteObject



48
49
50
# File 'lib/swa/s3/object_version.rb', line 48

def delete
  version.delete
end

#download_into(file_name, &progress_callback) ⇒ Object



37
38
39
40
41
42
43
44
45
46
# File 'lib/swa/s3/object_version.rb', line 37

def download_into(file_name, &progress_callback)
  downloader = Aws::S3::FileDownloader.new(client: aws_resource.client)
  options = {
    bucket: version.bucket_name,
    key: version.object_key,
    version_id: version.id,
    progress_callback: progress_callback,
  }
  downloader.download(file_name, options)
end

#get_bodyObject



33
34
35
# File 'lib/swa/s3/object_version.rb', line 33

def get_body
  version.get.body
end

#idObject



21
22
23
# File 'lib/swa/s3/object_version.rb', line 21

def id
  version.id
end

#keyObject



17
18
19
# File 'lib/swa/s3/object_version.rb', line 17

def key
  version.key
end

#summaryObject



8
9
10
11
12
13
14
15
# File 'lib/swa/s3/object_version.rb', line 8

def summary
  [
    version.last_modified.iso8601,
    rpad(version.size, 10),
    pad(version.id, 32),
    uri
  ].join("  ")
end

#to_sObject



29
30
31
# File 'lib/swa/s3/object_version.rb', line 29

def to_s
  uri
end

#uriObject



25
26
27
# File 'lib/swa/s3/object_version.rb', line 25

def uri
  "s3://#{version.bucket_name}/#{version.key}"
end