Um novo método foi acrescentado à classe Object. O método present? é o equivalente a !Object#blank?.
Em outras palavras um objeto está presente se ele não for vazio. Mas o que é um objeto vazio?
true; end
end
a = EmptyTrue.new
b = nil
c = false
d = ''
e = ' '
g = " \n\t \r "
g = []
h = {}
a.present? # => false
b.present? # => false
c.present? # => false
d.present? # => false
e.present? # => false
f.present? # => false
g.present? # => false
h.present? # => false
Todos estes objetos são vazios ou não estão presentes.
Mas, muito cuidado, algumas pessoas tem confundido as coisas. Veja alguns exemplos de objetos que NÃO estão vazios, ou seja, estão presentes:
false; end
end
a = EmptyFalse.new
b = Object.new
c = true
d = 0
e = 1
f = 'a'
g = [nil]
h = {nil => 0 }
a.present? # => true
b.present? # => true
c.present? # => true
d.present? # => true
e.present? # => true
f.present? # => true
g.present? # => true
h.present? # => true
Qualquer objeto que contenha um valor, está presente, isto vale até mesmo para um Array preenchido com um nil, porque o Array não está vazio.
Nenhum comentário em "Edge Rails: Novo método Object#present?"
Deixe o seu comentário!