Carlos Brando

Nome do Jogo

Edge Rails: Array#to_sentence

Atualmente o método Array#to_sentence possui as opções :connector que permite configurar a palavra usada para ligar os dois últimos elementos da lista, normalmente a palavra “and” ou a letra “e” em português e :skip_last_comma que como diz o nome remove a última virgula da frase.

À partir do Rails 2.3 este método não terá mais as opções acima, que serão substituídas pelas seguintes:

:words_connector O símbolo ou palavra que será usado para ligar os elementos na frase, somente quando o Array tem mais de dois elementos. O valor padrão é “, “.

:two_words_connector Esta opção funciona como a de cima, mas somente quando o Array possuir apenas dois elementos. O valor padrão é ” and “.

:last_word_connector Esta opção define o símbolo ou palavra que ligará os dois últimos elementos do Array na frase. O valor padrão é “, and “.

A opção :locale que já existe hoje continuará existindo normalmente. Um exemplo de uso do novo método para conseguir uma frase em português seria:

>> ['Cachorro', 'Gato', 'Camelo'].to_sentence :last_word_connector => " e "
=> "Cachorro, Gato e Camelo"

Você também deve configurar o seu arquivo de internacionalização para o novo formato:

pt-BR:
  support:
    array:
      words_connector: ", "
      two_words_connector: " e "
      last_word_connector: " e "

Esta decisão foi tomada para facilitar o processo de internacionalização do Rails em algumas línguas.


Todos os exemplos dados aqui funcionarão somente no Ruby on Rails 2.3/3.0 ou superior. Você pode encontrar mais detalhes sobre esta e outras novidades acompanhando a série Edge Rails.

Comments