class Chronic::RepeaterTime

def initialize(time, options = {})

def initialize(time, options = {})
  @current_time = nil
  @options = options
  time_parts = time.split(':')
  raise ArgumentError, "Time cannot have more than 4 groups of ':'" if time_parts.count > 4
  if time_parts.first.length > 2 and time_parts.count == 1
    if time_parts.first.length > 4
      second_index = time_parts.first.length - 2
      time_parts.insert(1, time_parts.first[second_index..time_parts.first.length])
      time_parts[0] = time_parts.first[0..second_index - 1]
    end
    minute_index = time_parts.first.length - 2
    time_parts.insert(1, time_parts.first[minute_index..time_parts.first.length])
    time_parts[0] = time_parts.first[0..minute_index - 1]
  end
  ambiguous = false
  hours = time_parts.first.to_i
  if @options[:hours24].nil? or (not @options[:hours24].nil? and @options[:hours24] != true)
      ambiguous = true if (time_parts.first.length == 1 and hours > 0) or (hours >= 10 and hours <= 12) or (@options[:hours24] == false and hours > 0)
      hours = 0 if hours == 12 and ambiguous
  end
  hours *= 60 * 60
  minutes = 0
  seconds = 0
  subseconds = 0
  minutes = time_parts[1].to_i * 60 if time_parts.count > 1
  seconds = time_parts[2].to_i if time_parts.count > 2
  subseconds = time_parts[3].to_f / (10 ** time_parts[3].length) if time_parts.count > 3
  @type = Tick.new(hours + minutes + seconds + subseconds, ambiguous)
end