module AWS::S3::ACLOptions

def acl_options acl

Returns:
  • (Hash) - Returns a hash of options suitable for

Parameters:
  • acl (Symbol, String, Hash, AccessControlList) -- Accepts an ACL
def acl_options acl
  case acl
  when Symbol
    { :acl => acl.to_s.tr('_', '-') }
  when String
    # Strings are either access control policies (xml strings)
    # or they are canned acls
    xml?(acl) ?
      { :access_control_policy => acl } :
      { :acl => acl }
  when AccessControlList
      { :access_control_policy => acl.to_xml }
  when Hash
    # Hashes are either grant hashes or constructor args for an
    # access control list (deprecated)
    grant_hash?(acl) ?
      format_grants(acl) :
      { :access_control_policy => AccessControlList.new(acl).to_xml }
  else
    # failed to parse the acl option
    msg = "expected a canned ACL, AccessControlList object, ACL "
          "XML string or a grants hash"
    raise ArgumentError, msg
  end
end