class S3Secure::Policy::Document

Public Class Methods

new(bucket, bucket_policy, remove: false) click to toggle source
# File lib/s3_secure/policy/document.rb, line 7
def initialize(bucket, bucket_policy, remove: false)
  @bucket, @bucket_policy, @remove = bucket, bucket_policy, remove # existing document policy
end

Public Instance Methods

checker() click to toggle source
# File lib/s3_secure/policy/document.rb, line 22
def checker
  Checker.new(@bucket_policy)
end
policy_document(sid) click to toggle source

Returns JSON text Currently only support adding ForceSSLOnlyAccess document policy.

# File lib/s3_secure/policy/document.rb, line 13
def policy_document(sid)
  enforcer_class = "S3Secure::Policy::Document::#{sid}"
  enforcer_class += "Remove" if @remove
  enforcer_class = enforcer_class.constantize # IE: ForceSSLOnlyAccess or ForceSSLOnlyAccessRemove
  enforcer = enforcer_class.new(@bucket, @bucket_policy)
  policy = enforcer.policy_document
  JSON.pretty_generate(policy) if policy
end