class S3Secure::Lifecycle::Builder

Constants

DEFAULT_RULE
RULE_ID

Note: put_bucket_lifecycle_configuration and put_bucket_lifecycle understand different payloads. put_bucket_lifecycle is old and shouldnt be used

Public Class Methods

new(rules) click to toggle source
# File lib/s3_secure/lifecycle/builder.rb, line 15
def initialize(rules)
  @rules = rules || []
end

Public Instance Methods

build(type) click to toggle source
# File lib/s3_secure/lifecycle/builder.rb, line 39
def build(type)
  if type == :remove
    remove_lifecycle
  else
    add_lifecycle
  end
end
has?(id) click to toggle source
# File lib/s3_secure/lifecycle/builder.rb, line 19
def has?(id)
  !!@rules.detect { |rule| rule[:id] == id }
end
rules_with_addition(prefix=nil) click to toggle source
# 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() click to toggle source
# 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