Carlos Brando

Nome do Jogo

Porque country_select virou um plugin

Ontem eu mencionei aqui no blog que o helper country_select foi removido do Rails e virou um plugin. Eu não tinha entendido muito bem, mas o Rafael Mueller me ajudou a esclarecer o assunto.

O problema todo é que Taiwan segundo a norma ISO 3166, se chama na verdade “Taiwan, Province of China”. E foi exatamente assim que Michael Koziarski deixou no método.

Então, Jamis Buck questionou se não seria possível deixar apenas “Taiwan”, já que o “Province of China” parece ser politicamente agressivo. No GitHub iniciou-se então uma série de comentários que foram entrando cada vez mais em questões politicas e deixando o técnico totalmente de lado.

Mas, Michael Koziarski foi categórico em afirmar que essas questões politicas estão muito além do que poderíamos resolver com uma simples alteração no código. E se aceitasse esta alteração, logo outras seriam solicitadas para países como Kosovo, Ossétia do Sul, Abecásia, Transnístria e uma longa lista.

A melhor solução, ou pelo menos a que geraria menos controvérsias, foi remover o helper do Rails e disponibiliza-lo na forma de um plugin. Desta forma qualquer um poderia facilmente criar um fork e montar sua própria lista da forma como mais lhe agradar.

Foi uma ótima forma de resolver o conflito.

Apenas uma correção: No último post mencionei que gravariamos no banco de dados apenas a sigla do nome do país. Isto não é verdade, continuaremos gravando o nome inteiro do país, mas com a nova nomenclatura.


Este artigo pertence a série “Edge Rails”. Todos os exemplos dados aqui funcionarão somente no Ruby on Rails 2.2 ou superior. A intenção desta série é preparar antecipadamente os programadores para as próximas versões do framework.

Comments