Дублирование .blank? в стандартном Ruby

В Rails есть пустое поле? метод, который вернет истину, если объект пуст? или ноль ?. Фактический код для этого можно найти здесь . Когда я пытаюсь скопировать это в 1.9.2, выполнив:

class Object

  def blank?
    respond_to?(:empty?) ? empty? : !self
  end

end

Вызов "" .blank? возвращает истину, но вызывает "" .blank? возвращает false, если согласно документации rails пустая строка должна быть оценена как истина для .blank? Прежде чем я посмотрел код, я изначально написал:

class Object

  def blank?
    !!self.empty? || !!self.nil?
  end

end

и получил те же результаты. Что мне не хватает?

6
задан Caley Woods 5 May 2011 в 17:19
поделиться