Class: Swa::S3::Bucket

Inherits:
Resource show all
Defined in:
lib/swa/s3/bucket.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



57
58
59
# File 'lib/swa/s3/bucket.rb', line 57

def delete
  bucket.delete
end

#idObject



12
13
14
# File 'lib/swa/s3/bucket.rb', line 12

def id
  name
end

#object_list_entries(options = {}) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/swa/s3/bucket.rb', line 42

def object_list_entries(options = {})
  options = options.merge(bucket: bucket.name)
  resp = bucket.client.list_objects_v2(options)
  ::Enumerator.new do |y|
    resp.each_page do |page|
      page.data.common_prefixes.each do |prefix_data|
        y << Swa::S3::ObjectPrefix.new(bucket.name, prefix_data)
      end
      page.data.contents.each do |object_data|
        y << Swa::S3::ObjectSummary.new(bucket.name, object_data)
      end
    end
  end
end

#object_versions(options = {}) ⇒ Object



38
39
40
# File 'lib/swa/s3/bucket.rb', line 38

def object_versions(options = {})
  Swa::S3::ObjectVersion.list(aws_resource.object_versions(options))
end

#objects(options = {}) ⇒ Object



34
35
36
# File 'lib/swa/s3/bucket.rb', line 34

def objects(options = {})
  Swa::S3::Object.list(aws_resource.objects(options))
end

#policy_dataObject



30
31
32
# File 'lib/swa/s3/bucket.rb', line 30

def policy_data
  MultiJson.load(policy_json)
end

#policy_jsonObject



26
27
28
# File 'lib/swa/s3/bucket.rb', line 26

def policy_json
  bucket.policy.policy.read
end

#summaryObject



16
17
18
# File 'lib/swa/s3/bucket.rb', line 16

def summary
  name
end

#uriObject



22
23
24
# File 'lib/swa/s3/bucket.rb', line 22

def uri
  "s3://#{bucket.name}"
end