class Holistics::ImportChunking

Public Instance Methods

execute() click to toggle source
# File lib/import_chunking.rb, line 19
def execute
  one_day = 86_400
  chunk_duration = one_day * options[:chunk_days]

  date_start = Time.parse(options[:range_start])
  date_end = Time.parse(options[:range_end])

  generated_result = []

  current_time = date_start

  while current_time < date_end
    chunk_start = current_time
    chunk_end = current_time + chunk_duration

    generated_result << gen_command(options[:import_id],
                                    chunk_start,
                                    chunk_end < date_end ? chunk_end : date_end)

    current_time += chunk_duration
  end

  puts generated_result.join(" && \\ \n")
end

Private Instance Methods

gen_command(id, range_start, range_end) click to toggle source
# File lib/import_chunking.rb, line 46
def gen_command(id, range_start, range_end)
  start_str = range_start.utc.iso8601
  end_str = range_end.utc.iso8601
  "holistics import execute -j #{id} --custom-range --range-start #{start_str} --range-end #{end_str}"
end