# File lib/clockwork/at.rb, line 12
    def self.parse(at)
      return unless at
      case at
      when /\A([[:alpha:]]+)\s(.*)\z/
        if wday = WDAYS[$1]
          parsed_time = parse($2)
          parsed_time.wday = wday
          parsed_time
        else
          raise FailedToParse, at
        end
      when /\A(\d{1,2}):(\d\d)\z/
        new($2.to_i, $1.to_i)
      when /\A\*{1,2}:(\d\d)\z/
        new($1.to_i)
      when /\A(\d{1,2}):\*\*\z/
        new(NOT_SPECIFIED, $1.to_i)
      else
        raise FailedToParse, at
      end
    rescue ArgumentError
      raise FailedToParse, at
    end