RubyOnRails et la méthode "all?"

Cette méthode permet d'économiser quelques lignes de code... Elle permet faire une série de tests dans une boucle et renvoie true uniquement si tous les tests sont à true. Un exemple vaut mieux que mille mots mal choisis !

par exemple vous avez besoin de savoir si tous les produits sont disponibles :

result = true
Product.find(:all).each{ |p|
result = (result and p.available)
}

Avec all? cela devient :

result = Product.find(:all).all? do |p|
p.available
end

Alors pas mal, hein ?