Если вам нужен сложный анализ даты, я бы попробовал это .
Однако, если я понимаю ваш конкретный вопрос, вы захотите использовать rescue
для использования методов, которые вызывают ошибки в условных выражениях:
if (Date.parse(date_scraped_from_the_net) rescue nil)
needs_to_be_updated = true
end