module BucketCake::TimeHelper

Public Instance Methods

assert_time(time) click to toggle source
# File lib/bucket_cake/time_helper.rb, line 22
def assert_time(time)
  raise 'Invalid time: must be a Time object' unless time.is_a?(Time)
  raise 'Invalid time: must be at start of hour' if time.beginning_of_hour != time
end
hour_cursor(prefix, time) click to toggle source
# File lib/bucket_cake/time_helper.rb, line 5
def hour_cursor(prefix, time)
  "#{prefix}/#{time.utc.strftime('%Y/%m/%d/%H')}.gz"
end
hour_keys(prefix, start_time, end_time) click to toggle source
# File lib/bucket_cake/time_helper.rb, line 13
def hour_keys(prefix, start_time, end_time)
  Enumerator.new do |y|
    while start_time < end_time
      y << hour_cursor(prefix, start_time)
      start_time += 1.hour
    end
  end
end
minute_cursor(prefix, time) click to toggle source
# File lib/bucket_cake/time_helper.rb, line 9
def minute_cursor(prefix, time)
  "#{prefix}/#{time.utc.strftime('%Y/%m/%d/%H%M')}.gz"
end