nil?
O método nil? testa se o objeto é uma instância da class NilClass, usado geralmente para indicar um valor inválido.
empty?
O método empty? testa se o objeto é vazio, depende da classe do objeto, por exemplo String#empty? retorna true se a string não conter caracteres, Array#empty? e Hash#empty? retorna true se o array ou hash não tiver entradas, para outras classes você deve consultar o seu comportamento.
nil.nil? => true false.nil? => false 1.nil? => false 0.nil? => false "".nil? => false [].nil? => false "".empty? => true "abc".empty? => false [].empty? => true [1, 2, 3].empty? => false 1.empty? => NoMethodError
No último exemplo o método empty? não é definido na classe Fixnum.
blank?
O método blank? é implementado no Rails, ele testa se um objeto é false, empty, uma string com espaços, por exemplo: “”, ” “, nil, [], e {} são blank.
Esse método simplifica:
Ao invés de fazer:
if !address.nil? && !address.empty?
Você pode fazer:
if !address.blank?
Se você gostou desse texto e acha que ajudou você, me recomende:
.
