Post rápido apenas para documentar e alertar. No Rails 2.1 a opção :case_sensitive do método validates_uniqueness_of deixará de ter seu valor default como true e passará a ser default false.
Então, fique atento quanto a isto na hora de migrar seu software.
Atualização
Esta alteração voltou atrás. De acordo com o core team do Rails, isto não fazia sentido. Então no Rails 2.1 o valor default da opção :case_sensitive continuará sendo true.
Ainda bem que vai continuar
Poxa…isso é que é agilidade! Parabéns CB!!!
Que pena que voltaram atrás, já que eu prefiro o :case_sensitive como false por default. Aliás, na documentação da API do Rails, o :case_sensitive ainda está como false por default, conforme mostrado abaixo:
:case_sensitive – Looks for an exact match. Ignored by non-text columns (false by default).
elomarns, aparentemente a documentação está errada.
Pois é, eu lembro que tinha lido esse seu post há muito tempo atrás, por isso nem me preocupei em colocar o :case_sensitive como false. Mas depois de ver que o validates_uniqueness_of não estava se comportando como eu esperava, eu fui consultar a documentação e vi que eles afirmavam que o default era mesmo o false. Ou seja, fiquei bastante confuso, mas em seguida eu vim até aqui e vi a sua atualização, e então entendi que pelo jeito eles esqueceram de mudar novamente a descrição dessa validação depois que a mudança foi cancelada.