# 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