class Stratocumulus::Retention

Public Class Methods

new(schedule) click to toggle source
# File lib/stratocumulus/retention.rb, line 5
def initialize(schedule)
  @schedule = schedule
end

Public Instance Methods

rule(key) click to toggle source
# File lib/stratocumulus/retention.rb, line 9
def rule(key)
  return unless expires_in_days

  {
    "ID" => key,
    "Prefix" => key,
    "Enabled" => true,
    "Days" => expires_in_days,
  }
end
upload_today?() click to toggle source
# File lib/stratocumulus/retention.rb, line 20
def upload_today?
  !@schedule || relevent_period
end

Private Instance Methods

expires_in_days() click to toggle source
# File lib/stratocumulus/retention.rb, line 26
def expires_in_days
  return unless @schedule

  relevent_period * @schedule[relevent_period]
end
relevent_period() click to toggle source
# File lib/stratocumulus/retention.rb, line 32
def relevent_period
  @schedule.keys.sort.reverse.find do |period|
    0 == Date.today.yday % period
  end
end