Class: S3Secure::Policy::Document
- Inherits:
-
Object
- Object
- S3Secure::Policy::Document
- Extended by:
- Memoist
- Defined in:
- lib/s3_secure/policy/document.rb,
lib/s3_secure/policy/document/base.rb,
lib/s3_secure/policy/document/force_ssl_only_access.rb,
lib/s3_secure/policy/document/force_ssl_only_access_remove.rb
Defined Under Namespace
Classes: Base, ForceSSLOnlyAccess, ForceSSLOnlyAccessRemove
Instance Method Summary collapse
- #checker ⇒ Object
-
#initialize(bucket, bucket_policy, remove: false) ⇒ Document
constructor
A new instance of Document.
-
#policy_document(sid) ⇒ Object
Returns JSON text Currently only support adding ForceSSLOnlyAccess document policy.
Constructor Details
#initialize(bucket, bucket_policy, remove: false) ⇒ Document
Returns a new instance of Document.
7 8 9 |
# 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 |
Instance Method Details
#checker ⇒ Object
22 23 24 |
# File 'lib/s3_secure/policy/document.rb', line 22 def checker Checker.new(@bucket_policy) end |
#policy_document(sid) ⇒ Object
Returns JSON text Currently only support adding ForceSSLOnlyAccess document policy.
13 14 15 16 17 18 19 20 |
# 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 |