Class: S3Secure::Lifecycle::Builder
- Inherits:
-
Object
- Object
- S3Secure::Lifecycle::Builder
- Defined in:
- lib/s3_secure/lifecycle/builder.rb
Constant Summary collapse
- RULE_ID =
Note: put_bucket_lifecycle_configuration and put_bucket_lifecycle understand different payloads. put_bucket_lifecycle is old and shouldnt be used
Base::RULE_ID
- DEFAULT_RULE =
{ expiration: {expired_object_delete_marker: true}, id: RULE_ID, status: "Enabled", prefix: "", noncurrent_version_expiration: {noncurrent_days: 365}, abort_incomplete_multipart_upload: {days_after_initiation: 30} }
Instance Method Summary collapse
- #build(type) ⇒ Object
- #has?(id) ⇒ Boolean
-
#initialize(rules) ⇒ Builder
constructor
A new instance of Builder.
- #rules_with_addition(prefix = nil) ⇒ Object
- #rules_with_removal ⇒ Object
Constructor Details
#initialize(rules) ⇒ Builder
Returns a new instance of Builder.
15 16 17 |
# File 'lib/s3_secure/lifecycle/builder.rb', line 15 def initialize(rules) @rules = rules || [] end |
Instance Method Details
#build(type) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/s3_secure/lifecycle/builder.rb', line 39 def build(type) if type == :remove remove_lifecycle else add_lifecycle end end |
#has?(id) ⇒ Boolean
19 20 21 |
# File 'lib/s3_secure/lifecycle/builder.rb', line 19 def has?(id) !!@rules.detect { |rule| rule[:id] == id } end |
#rules_with_addition(prefix = nil) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/s3_secure/lifecycle/builder.rb', line 23 def rules_with_addition(prefix=nil) rules = @rules.dup unless has?(RULE_ID) rule = DEFAULT_RULE rule[:prefix] = prefix if prefix rules << rule end rules end |
#rules_with_removal ⇒ Object
33 34 35 36 37 |
# File 'lib/s3_secure/lifecycle/builder.rb', line 33 def rules_with_removal rules = @rules.dup rules.delete_if { |rule| rule[:id] == RULE_ID } rules end |