module Fugit::Nat

def parse_cron(a)

def parse_cron(a)
  h = { min: nil, hou: [], dom: [ nil ], mon: [ nil ], dow: [ nil ] }
  a.each do |key, val|
    if key == :biz_day
      h[:dow] = [ [ 1, 5 ] ]
    elsif key == :simple_hour || key == :numeral_hour
      (h[:hou] ||= []) << [ val ]
    elsif key == :digital_hour
      h[:hou] = [ val[0, 1] ]
      h[:min] = [ val[1, 1] ]
    elsif key == :name_day
      (h[:dow] ||= []) << [ val ]
    elsif key == :flag && val == 'pm' && h[:hou]
      h[:hou][-1] =  [ h[:hou][-1].first + 12 ]
    elsif key == :tz
      h[:tz] = val
    elsif key == :duration
      process_duration(h, *val[0].to_h.first)
    end
  end
  h[:min] ||= [ 0 ]
  h[:dow].sort_by! { |d, _| d || 0 }
  Fugit::Cron.allocate.send(:init, nil, h)
end