# File lib/validates_timeliness/extensions/multiparameter_handler.rb, line 51 def read_date set_values = values.values_at(1,2,3).map {|v| v.is_a?(String) ? v.strip : v } if set_values.any? { |v| v.is_a?(String) } Timeliness.parse(set_values.join('-'), :date).try(:to_date) or raise TypeError else Date.new(*set_values) end rescue TypeError, ArgumentError, NoMethodError => ex # if Date.new raises an exception on an invalid date # Date.new with nil values throws NoMethodError raise ex if ex.is_a?(NoMethodError) && ex.message !~ /undefined method `div' for/ invalid_multiparameter_date_or_time_as_string(set_values) end