module SplitIoClient::Utilities

def randomize_interval(interval)

def randomize_interval(interval)
  random_factor = Random.new.rand(50..100) / 100.0
  interval * random_factor
end

def split_bulk_to_send(items, divisions)

def split_bulk_to_send(items, divisions)
  to_return = []
  items.to_a.each_slice(divisions) {|bulk|
    to_return.push(bulk.to_set)
  }
  to_return
end

def to_epoch(value)

Convert String with Time info to its epoch FixNum previously setting to zero the seconds
def to_epoch(value)
  parsed = Time.parse(value)
  zeroed = Time.new(parsed.year, parsed.month, parsed.day, parsed.hour, parsed.min, 0, 0)
  zeroed.to_i
end

def to_epoch_milis(value)

def to_epoch_milis(value)
  to_epoch(value) * 1000
end

def to_milis_zero_out_from_hour(value)

def to_milis_zero_out_from_hour(value)
  parsed_value = Time.strptime(value.to_s, '%s').utc
  zeroed = Time.new(parsed_value.year, parsed_value.month, parsed_value.day, 0, 0, 0, 0)
  zeroed.to_i * 1000
rescue StandardError
  return :non_valid_date_info
end

def to_milis_zero_out_from_seconds(value)

def to_milis_zero_out_from_seconds(value)
  parsed_value = Time.strptime(value.to_s, '%s').utc
  zeroed = Time.new(parsed_value.year, parsed_value.month, parsed_value.day, parsed_value.hour, parsed_value.min, 0, 0)
  zeroed.to_i * 1000
rescue StandardError
  return :non_valid_date_info
end