class OpenBuckets

Constants

Bucket

Public Instance Methods

call(access_key:, secret:) click to toggle source
# File lib/s3sec/services/open_buckets.rb, line 6
def call(access_key:, secret:)
  @access_key, @secret = access_key, secret
  collect_data
rescue => e
  puts e
  []
end
client() click to toggle source
# File lib/s3sec/services/open_buckets.rb, line 14
def client
  @client ||= Aws::S3::Resource.new(
   credentials: Aws::Credentials.new(@access_key, @secret),
   region: 'eu-central-1'
  )
end
collect_data() click to toggle source
# File lib/s3sec/services/open_buckets.rb, line 21
def collect_data
  buckets = client.buckets.map do |b|
    region = client.client.get_bucket_location(bucket: b.name).location_constraint
    s3tempclient = Aws::S3::Resource.new(
     credentials: Aws::Credentials.new(@access_key, @secret),
     region: region
   )
   status = CheckAcl.call(s3tempclient.client.get_bucket_acl({bucket: b.name}))

   bucket = Bucket.new(b.name, region, status, s3tempclient.client, [])

   s3tempclient.bucket(b.name).objects.each do |obj|
     bucket.keys << obj.key
   end

   bucket
 end
end