.onde com condicionais em Ruby on Rails

Alguns dias atrás, eu estava preso em uma situação em que tinha que consultar o banco de dados para encontrar um conjunto de músicas entre dois intervalos de ‘número total de vezes tocadas’. Embora usemos a instrução where para isso em Ruby, na maioria das vezes fazemos isso com uma consulta de igualdade (Ex: encontre uma música onde id = 10, encontre todas as listas de reprodução onde classificação = 5)

Se quisermos usar a instrução where com desigualdades (Ex: encontre todas as playlists com classificação entre 4 e 5), é assim que fazemos:

def get_playlists_within_rating_range( min_rating, max_rating)
playlists
.where("rating >= :min_rating and rating <= :max_rating", :min_rating => min_rating, :max_rating => max_rating)
# do some stuff
end