Não diferencia maiúsculas de minúsculas find_or_create_by_whatever
Eu quero poder fazerArtist.case_insensitive_find_or_create_by_name(artist_name)
[1] (e faça com que funcione no sqlite e no postgreSQL)
Qual é a melhor maneira de conseguir isso? No momento, estou apenas adicionando um método diretamente aoArtist
classe (meio feia, especialmente se eu quero essa funcionalidade em outra classe, mas qualquer que seja):
def self.case_insensitive_find_or_create_by_name(name)
first(:conditions => ['UPPER(name) = UPPER(?)', name]) || create(:name => name)
end
[1]: Bem, o ideal seriaArtist.find_or_create_by_name(artist_name, :case_sensitive => false)
, mas isso parece muito mais difícil de implementar