class S3Secure::Summary::Items
Public Class Methods
new(options, buckets)
click to toggle source
override initialize
# File lib/s3_secure/summary/items.rb, line 6 def initialize(options, buckets) @options, @buckets = options, buckets @ssl, @encrypted = @options[:ssl], @options[:encrypted] end
Public Instance Methods
all_items()
click to toggle source
Triggers loading of items
# File lib/s3_secure/summary/items.rb, line 32 def all_items load_items! end
filtered_items()
click to toggle source
# File lib/s3_secure/summary/items.rb, line 11 def filtered_items items = all_items.select do |item| case @ssl when "yes", "no" @ssl == item.ssl else # any or fallback true end end items.select do |item| case @encrypted when "yes", "no" @encrypted == item.encrypted else # any or fallback true end end end
load_items!()
click to toggle source
# File lib/s3_secure/summary/items.rb, line 36 def load_items! @buckets.map do |bucket| Item.new(bucket, ssl: ssl?(bucket) ? "yes" : "no", encrypted: encrypted?(bucket) ? "yes" : "no") end end
Private Instance Methods
encrypted?(bucket)
click to toggle source
# File lib/s3_secure/summary/items.rb, line 55 def encrypted?(bucket) s3 = s3_regional_client(bucket) list = S3Secure::Encryption::List.new(@options) list.set_s3(s3) rules = list.get_encryption_rules(bucket) !!rules end
ssl?(bucket)
click to toggle source
# File lib/s3_secure/summary/items.rb, line 46 def ssl?(bucket) list = S3Secure::Policy::List.new(@options) bucket_policy = list.get_policy(bucket) document = S3Secure::Policy::Document.new(bucket, bucket_policy) document.has?("ForceSSLOnlyAccess") end