# File lib/validates_timeliness/parser.rb, line 6 def parse(raw_value, type, options={}) return nil if raw_value.blank? return raw_value if raw_value.acts_like?(:time) || raw_value.is_a?(Date) time_array = ValidatesTimeliness::Formats.parse(raw_value, type, options.reverse_merge(:strict => true)) return nil if time_array.nil? if type == :date Date.new(*time_array[0..2]) rescue nil else make_time(time_array[0..6]) end end